PDA

Ver la Versión Completa : ODBC firebird


Salomon
04-03-2004, 13:53:51
Hola a todos los delphimaniacos. estoy migrando a firebird y me he encontrado con un problemilla, yo tenia una aplicacion hecha en delphi 5 y que atacaba a intebase 7, mediante el ODBC de easysoft para interbase 7, el cual configuro al entrar en la aplicacion con un fichero DSN, y ahora que han sacado el firebire 1.5 me he decidido a migrar de base de datos, mirando en la pagina www.ibphoenix.com vi que tambien habia un odbc para FireBird, lo probé y vi que iba estupendamente, hasta que intenté crear el fichero DSN, y plas, ERROR, he intentado todo, hasta utilizar el antiguo fichero DSN de InterBase 7 pero modificandole el driver del ODBC, y no soy capaz, me estoy volviendo loco y no consigo nada, si alguien supiera ayudarme se lo agradeceria enormemente, ya sea con ejemplos o con alguna explicacion teorica

Un saludo y gracias!!!!

SALO!

jachguate
04-03-2004, 17:12:02
y plas, ERROR

Pero que error??? Tengo entendido que hay mas de un driver de ODBC para firebird, asi que creo que te valdrá probar con algun otro, que quizas el que probas tenga un bug.

Se que quizas no es un buen momento, pero porque usas ODBC para conectarte a firebird?? no te parece que sacrificas desempeño innecesariamente?

Salomon
04-03-2004, 17:31:25
Se que quizas no es un buen momento, pero porque usas ODBC para conectarte a firebird?? no te parece que sacrificas desempeño innecesariamente?

El motivo por el que uso ODBC es que accedo con componentes ADO, a lo que me imagino que te preguntaras porque?, pues la respuesta es por que es una aplicacion para ayuntamientos y a algunos ayuntamientos no les gusta interbase o firebird, por lo que migrar a otro tipo de base de datos (Oracle, SQLserver, etc) es relativamente sencillo, si el odbc funciona correctamente y crea el fichero DSN sin problemas.

dicho esto, y volviendo al tema anterior, El ODBC que uso yo es el que viene en la pagina www.ibphoenix.com, y se llama SetupOdbcJdbc.exe, si saben de otros y de donde me los puedo bajar seria un punto.

Por lo del error que me produce es muy extraño, ya que tras mucho piratear, he conseguido que el ADODataBase de conecte, pero al hacer una consulta me dice "Error no especificado"

P.D. por si sirve de ayuda os pongo el contenido del fichero DSN

DRIVER=Firebird/InterBase(r) driver;
UID=SYSDBA;
PWD=masterkey;
DBNAME=RutaBaseDatos; ej. SERVIDOR:c:\BaseDatos\BaseDatos.GDB

guillotmarc
04-03-2004, 22:13:56
Hola.

Desconozco la causa del Error. En esta página tienes una recopilación de los drivers y componentes de acceso a Firebird.

http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_int_comps

NOTA : Personalmente te recomiendo la utilización de un driver OleDB en lugar de un driver ODBC para utilizar con componentes ADO (puesto que los componentes OleDB són nativos de ADO y en cambio para conectar con ODBC se usa un puente). Estos dos tienen buena fama :

http://www.sibprovider.com/en_us/default.asp
http://www.ibprovider.com/eng/index.html

Saludos.

mordisco
09-03-2004, 17:49:26
Hola,

yo tengo un problema similar con el controlador odbc de ibphoenix, no consigo acceder a las tablas de usario, y tampoco me da pistas del error que da, porque solamente me dice que devolvió un error... Estoy tratando de programar un DTS para transferir datos de un MS SQL Server 2K a un Firebird 1.0.

Me gustaría conectarme con Oledb, para lo que tengo que hacer es mejor, pero he probado el ibprovider y no funciona, y con el sibprovider tengo un problema, al registrar la dll del proveedor me dice que está caducada y que vaya a la página del sibprovider para bajarme la última versión, pero por más que he mirado sólo encuentro la versión que me he bajado yo. ¿Cuál es la última versión? ¿De dónde me la puedo bajar?

Con el ibphoenix, consigo conectar al firebird, pero cuando intento generar una consulta de una tabla de usuario con un asistente directamente en el MS SQL Server, y que se ejecute contra el Firebird me da el siguiente error:

Dynamic SQL Error
SQL Error code=-204
Table unknown PERSONAL
At line 1, column 24

La tabla está, porque además se está utilizando en otra aplicación, y funciona correctamente.

Si hago una consulta igual con una tabla de sistema no me da ningún error, y realiza la consulta de forma correcta, lo mismo ocurre si creo una tabla de usuario desde el MS SQL Server, que con esa no me da error, pero con las que hay creadas me da el error que os he puesto arriba.

¿Alguna idea de qué es lo que está pasando?

Muchas gracias por vuestra ayuda.

Un saludo!

Salomon
10-05-2004, 12:39:24
hola mordisco

yo he probado el ibprovider y me funciona, me conecto mediante un fichero .UDL, que es facil de crear, pero hay que tener en cuenta que al crearlo hay que cambiar la propiedad auto_comming de dicho fichero .udl, la manera de crearlo es pichando con boton derecho donde lo quieras crear, nuevo - documento de texto, y le cambias la extension. eso si, pero cambiando la propiedad auto_comming a true.

un saludo