Page 1 of 1

Error al linkar un programa con ODBC

Posted: Fri Jun 08, 2007 7:08 am
by JmGarcia
Compilado con FW 2.4 + Clipper 5.3 y linkado con Blinker 5 perfecto.
Con FWH 7.05 y xHarbour 0.99.71 me da estos errores:

Code: Select all

Error: Unresolved external '_HB_FUN_INIODBC32' referenced from FIVEHX.LIB|TRDDODBC
Error: Unresolved external '_HB_FUN_ENDODBC32' referenced from FIVEHX.LIB|TRDDODBC
Error: Unresolved external '_HB_FUN__TRDD' referenced from FIVEHX.LIB|TRDDODBC
Error: Unresolved external '_HB_FUN_RDDSETFIELDEXTENT' referenced from FIVEHX.LIB|TRDD
Error: Unresolved external '_HB_FUN_RDDADDFIELD' referenced from FIVEHX.LIB|TRDD
Que libreria me falta por linkar.

¿ Por cierto como copio una base de datos Oracle a un DBF temporal usando ODBC ?

Posted: Fri Jun 08, 2007 8:06 am
by Antonio Linares
La clase TRdd de FW es sólo para 16 bits.

Con FWH y Harbour, puedes usar ADORDD para acceder a cualquier motor de base de datos que soporte ADO, como por ejemplo Oracle.

Puedes descargar ADORDD desde:
www.fivetechsoft.com/files/adordd.zip

Lleva incluidos ejemplos de uso. Es muy fácil de usar :-)

Posted: Fri Jun 08, 2007 8:24 am
by JmGarcia
Antonio Linares wrote:...Con FWH y Harbour, puedes usar ADORDD para acceder a cualquier motor de base de datos que soporte ADO, como por ejemplo Oracle...
Gracias.

Con ADO me esta dando muchos problemas la instalación el PROVIDER de Oracle (y no lo he conseguido), sin embargo el driver de ODBC de Oracle lo he instalado sim problemas y, aunque con algunos problemas de configuracion, esta funcionando.

Y solo es para hacer consultas sobre una base de datos Oracle, asi que me bastaria con ODBC pero para FWH+xHarbour.

¿ Algun ejemplo en FWH+xHarbour para ODBC ?

Por otro lado quisiera que cuando no pueda acceder a la base de datos Oracle (en casa o fuera de la oficina) tener copia de las tablas de esa base de datos en ficheros dbf.
Y despues se me plantea como usar el "mismo" codigo fuente y con solo un "flag" de esos de #ifdefine recompilar par una u otra fuente.

Entonces se me plantean dos dudas:
¿ Como copio una tabla de una DB de Oracle a un DBF ?
¿ Como "desarrollo" la parte de codigo que sea comun a dos fuentes de datos distintas ?

Posted: Fri Jun 08, 2007 9:49 am
by JmGarcia
Compilado el ejemplo de ADORDD (algo modificado) con FWH+xHarbour:

Code: Select all

#INCLUDE "FIVEWIN.CH"
#include "adordd.ch"
REQUEST ADORDD
function Main()
msginfo("que voy")
   USE "geo" VIA "ADORDD" TABLE "estados" ;
       USER "user" PASSWORD "nada" 
   Browse()
   USE
return nil
Me da error de apertura (OPEN):

Code: Select all

Application
===========
   Path and name: C:\Bases\FWH0705\contribuciones\ADORDD\_Practicas\access1.exe (32 bits)
   Size: 1,469,440 bytes
   Time from start: 0 hours 0 mins 1 secs 
   Error occurred at: 06/08/07, 11:45:39
   Error description: Error ADODB.Recordset/16389  E_FAIL: OPEN
   Args:
     [   1] = C   esta_radar
     [   2] = O   Object

Stack Calls
===========
   Called from: win32ole.prg => TOLEAUTO:OPEN(0)
   Called from: adordd.prg => ADO_OPEN(264)
   Called from:  => DBUSEAREA(0)
   Called from: access1.prg => MAIN(12)

Posted: Fri Jun 08, 2007 10:43 am
by Antonio Linares
Si quieres usar ODBC, revisa los ejemplos de FWH samples\odbc...prg y TestSQL3.prg

Posted: Fri Jun 08, 2007 11:04 am
by Baxajaun
Hola Jose María,

con que versión de Oracle trabajas ? Yo trabajo con la 9i, y no he tenido ningún problema con el PROVIDER. Tienes que instalar el cliente Oracle en el PC.

Saludos,

Félix

Posted: Fri Jun 08, 2007 11:45 am
by JmGarcia
Antonio Linares wrote:Si quieres usar ODBC, revisa los ejemplos de FWH samples\odbc...prg y TestSQL3.prg
Bueno... pues los probare.
Si como solo es para consultas, como ya he comentado, me vale con ODBC.
Baxajaun wrote:...con que versión de Oracle trabajas ? Yo trabajo con la 9i, y no he tenido ningún problema con el PROVIDER. Tienes que instalar el cliente Oracle en el PC.
Con Oracle 9i release 2.
Claro, el puto cliente. No lo instale ya que no me hace falta para desarrollar.
Solo quiero el Provider pero, por lo que dices, necesita el cliente.
Pues me quedare con ODBC ya que si lo que desarrollo se lo instalo a alguien mas no quisiera "llenarle" el PC de mas cosas.

Gracias.

Posted: Fri Jun 08, 2007 7:03 pm
by Baxajaun
José María,

si quieres trabajar con ODBC, yo te recomiendo la librería Condor1 de nuestro amigo Manu Expósito.

Saludos,

Félix

Posted: Fri Jun 08, 2007 7:18 pm
by JmGarcia
Baxajaun wrote:...yo te recomiendo la librería Condor1 de nuestro amigo Manu Expósito...
¿ Aunque solo sea para consultas ?

Posted: Fri Jun 08, 2007 7:54 pm
by Baxajaun
José María,

yo te animo a probarla.

Saludos,

Félix

Posted: Sat Jun 09, 2007 10:29 am
by JmGarcia
Baxajaun wrote:...yo te animo a probarla...
¿ Donde se compra ? o ¿ Donde la puedo conseguir ?

Posted: Sat Jun 09, 2007 7:48 pm
by Baxajaun
José María,

envia un mensaje a Manu a la siguiente dirección:

manuexposito@gmail.com

Saludos,

Félix

Posted: Mon Jun 11, 2007 11:34 am
by JmGarcia
Unas preguntillas...

Definicion de las clases y diferencias entre ellas (todas de ODBC):

TRddOdbc
TOdbc
TDbOdbc
TDbOdbcDirect

A ver si me aclaro...

Posted: Mon Jun 11, 2007 1:51 pm
by Antonio Linares
TRddOdbc : Sólo para 16 bits. Deriva de TRdd e implementa un RDD para usar ODBC

TOdbc : Uso general de ODBC

TDbOdbc : Uso de ODBC simulando la funcionalidad de una DBF

TDbOdbcDirect : Uso optimizado de ODBC simulando parcialmente la funcionalidad de una DBF

No es fácil de explicarlo :-)

Posted: Mon Jun 11, 2007 4:38 pm
by JmGarcia
Antonio Linares wrote:TRddOdbc : Sólo para 16 bits. Deriva de TRdd e implementa un RDD para usar ODBC
TOdbc : Uso general de ODBC
TDbOdbc : Uso de ODBC simulando la funcionalidad de una DBF
TDbOdbcDirect : Uso optimizado de ODBC simulando parcialmente la funcionalidad de una DBF
No es fácil de explicarlo :-)
Vamos que con TOdbc y TDbOdbc (y esporadicamente TDbOdbcDirect) para FWH 7.5 + xHarbour iria sobrao ¿ no ?