Importar tablas de InterBase a VFP

EDISON
16 de Febrero del 2006
Necesito importar algunas tablas de InterBase, Tengo el ODBCJDBC, pero necesito el codigo, por favor si alguien los tiene enviemelo, gracias.

Edison

Plinio
16 de Febrero del 2006
Tu ganas, ahí te va...
Puesto que tienes el driver ODBC y seguramante tienes tu DSN creada.

STORE sqlconnect('DSNODBC','SYSDBA','masterkey') TO handle
? handle // verificas que sea mayor que cero, entonces existe conexión.
? sqlexec(handle,'SELECT * FROM tablainter','migradatos')
BROW
// luego seleccionas: ARCHIVO | Exportar ...
y llevas al formato DBF, es todo.

See you.

P.D. Acepto incentivos.

Plinio
16 de Febrero del 2006
Espero que encuentres el código.

En mi caso hice exactamnet al revés, es decir lleve mis tablas VFP a una bb InterBase.

Puedes hacerlo llevando de VFP a ASCII y luego cargas a VFP, tal vez te ayude el programa DataDump que provee Borland con Delphi/C++Builder.

Saludos,

Isai Santos
16 de Febrero del 2006
Tienes 2 opciones

1.- Crear un una conexión ODBC con la que te comuniques al servidor de interbase, normalmente los datos que te pide son DSN, Database, Usuario, Password.

Una vez hecho esto, solo crea una nuava base de datos en VFP y creas vistas remotas utilizando la conexion ODBC que creaste con anterioridad, creas una vista para cada una de las tablas que quieras obtener y listo.

2.- Crear una candena de conexión y obtener los datos a traves del comando SQLExec. Te mando un ejemplo de como crear la cadena de conexion y obtener los datos, espero te sirva

cStrConec = 'DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=servidor:c:interbaseagenda.gdb;DIALECT=3;'
***Evitar que aparezca la ventana de login
=SQLSETPROP(0,"DispLogin",3)

nhconexion = SQLSTRINGCONNECT(cStrConec) &&Te conectas del servidor

IF nhconexion > 0 then
nRes = 0
DO WHILE nRes = 0
nRes =SQLEXEC(nhconexion, 'select * from contactos', 'contactos') &&Ejecutar el script
ENDDO
* Si nRes = 1 entonces la consulta se efectua adecuadamente y tienes el cursor resultante con el cual
* puedes hacer lo que quieras.
IF nRes > 1 then
Brow
else
Messagebox("Error en la ejecución de la consulta remota...")
ENDIF

endif

=SQLDisconnect(nhconexion) &&Te desconectas del servidor

Es todo, si tienes dudas, escribeme

angela
16 de Febrero del 2006
hola como estas, ok, estube leyendo lo que publicaste y lo hize con una vista, ok llevo las tablas pero cuando creo un formulario en fox y paso los datos, y corro el form, me aparece inactiva los controles, no veo los datos, no modifico, agradeceria si me pudieras ayudar.