Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-03-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 21
ElDioni Va por buen camino
Hola,

por lo que describes en tu problema supongo que son las tablas del programa facturaplus. A mi me pasaba con la tabla articulo.dbf, albclil.dbf y alguna más, eran tres o cuatro, creo que conseguí resolverlo poniendo, en un TTable, en la propiedad TableName la ruta completa de la tabla, en TableType el valor ttFoxPro y luego añadiendo el fichero de índices en la propiedad IndexFiles, te ponías en IndexDefs para comprobar que te cargaba bien el índice y entonces me dejaba conectarme.

Te digo que creo que conseguí resolverlo porque no lo puedo comprobar ya que hace 3 días hemos cargado una nueva actualización del facturaplus para la nueva normativa del 347 y lo que ocurre es que, al ir a probar esto que te comento, me doy cuenta de que ya no me da error ninguna tabla, no se si es que han corregido algo pero de momento funcionan todas las tablas.

Espero que algo de esto te sirva de ayuda.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #2  
Antiguo 30-03-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
No ha habido manera de conectarse, así que he implementado una opción de urgencia puesto que solamente se trata de cruzar datos no de escribir en las tablas.

Como el Byte 29 es donde reside si la tabla tiene índices o no he hecho una copia de la tabla cada vez que entro con el motivo de que ésta este lo mas actualizada posible y luego le he cambiado el byte que es 01 por 00, y ya lo tengo funcionando.
Código Delphi [-]
procedure KillConta();
var
mystream : tfilestream;
FileName: String;
pOrigen,pDestino:Pchar;
Value:Longint;
begin
Value:=00;
FileName:='\\Servidor\CNdbf\XXX.dbf';
pOrigen:='\\Servidor\XXX\ConXXX\EmpXX\XXX.dbf';
pDestino:='\\Servidor\CNdbf\XXX.dbf';
Try
CopyFile(pOrigen,pDestino,False);
Except
ShowMessage('Error al copiar el Fichero XXXX.');
end;

mystream := tfilestream.create(filename,
            fmOpenWrite + fmShareExclusive);
  try
    mystream.Seek(28, soFromBeginning);
    mystream.Writebuffer(Value, SizeOf(Value));
  finally
    mystream.Free;
  end;
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 30-03-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y, digo yo, ¿no serviría hacer esto?

1. Creas una copia limpia (misma estructura, sin índices y sin datos) de la tabla original.
2. Usas el truco del byte 29 para abrir la tabal original
3. Copias uno a uno los registros de la tabla original a la nueva.
4. Pones los índices a la tabla nueva.
5. Usas la tabla nueva.

// Saludos
Responder Con Cita
  #4  
Antiguo 30-03-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Román: Es que el único problema es que la tabla no se podía abrir y para hacer los cruces como la ataco con SQL los índices no me hacen falta. Ese es el motivo de hacer solamente la copia de la tabla y no de los índices, además en el momento que cambio el Byte 29 a 01 como en la situación original dejo de poder acceder y me reporta un error, otra posibilidad que estoy pensando aunque estoy satisfecho con la actual es intentar acceder por ejemplo con ADO, cosa que no sé si será posible.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear tablas FoxPro con ADOCommand yusnerqui Varios 3 27-10-2005 19:01:09
De tablas en visual foxpro 6 a MS SQL Server Jorge Taveras Tablas planas 2 18-03-2005 04:43:01
¿Bloquear registros en tablas foxpro 2.6? ALMERA Conexión con bases de datos 0 25-03-2004 11:42:49
Conexión con tablas foxpro ALMERA Conexión con bases de datos 4 16-03-2004 15:12:38
Problemas al acceder a tablas Foxpro sanluisme Conexión con bases de datos 4 04-03-2004 09:49:34


La franja horaria es GMT +2. Ahora son las 12:51:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi