PDA

Ver la Versión Completa : ayuda amigos con firebirt 1.03 (conexion)


ronimaxh
24-11-2003, 23:03:03
Hola distinguidos amigos, estoy tratando de aprender a usar firebirt con delphi, he bajado de un foro esta direccion que encontre: http://www.upscene.com/dbx_fb/dbx_fb.htm, ya baje esos driver odbc. Tengo este archivo que baje de ahi, y quiero que me digan que paso es que sigue que me perdi. dbxup_fb.dll

Nota: lo que quiero es conectarme con delphi y firebirt que no me de problemas.

Nota2: tambien baje la version de firebirt 1.5, no la he instalado porque tengo la version 1.03.

gracias por cualquier ayuda (es la primera vez que uso firebirt).

guillotmarc
24-11-2003, 23:56:00
Hola.

Si no recuerdo mal, la forma más fácil de utilizar este driver, es configurando una SQLConnection utilizando el driver de Borland para Interbase. Una vez tienes configurados todos los parámetros necesarios (Database, ServerCharSet, Dialect, ...) simplemente sustituye la propiedad LibraryName del SQLConnection, cambiando el valor dbExpInt.dll (el driver de Borland para Interbase), por el nombre de la dll que te has bajado. En este momento la conexión pasa a trabajar con el nuevo driver.

Ya solo queda asegurarte de que la librería está en algún lugar siempre accesible (junto a la aplicación, o en la carpeta System32)

NOTA : Con este driver puedes utilizar sin problemas Firebird 1.5. Incluso puedes tener en funcionamiento simultaneamente un Firebird 1.03 y un Firebird 1.5. Para ver como hacerlo, consulta las Release Notes de Firebird. (en www.ibphoenix.com encontrarás una versión en castellano de esta documentación).

Saludos.

ronimaxh
25-11-2003, 14:48:36
Gracias por contestar amigo, hice todo lo que me escribiste ahi y me da el siguiente error :
unable to fin procedure getsqldriverinterbase.
que sera lo que me falto...

Nota: ahora instale firebirt 1.5 cree mi base de datos y un par de tablas. uso delphi 7.

guillotmarc
25-11-2003, 17:52:39
Hola.

Ya hace tiempo que instalé el driver dbExpress de Upscene, y no recuerdo el procedimiento exacto. Aunque está claro que es este driver lo que te está fallando.

Creo que lleva algun tipo de instalación, pero no lo recuerdo (lo que si recuerdo es que lo pude instalar facilmente, sin dar ningún problema). ¿ No hay ningún archivo readme.txt o parecido detallando el proceso de instalación ?.

Saludos.

ronimaxh
25-11-2003, 18:10:46
esto es lo que dice el archivo de texto:

Platforms supported
· Delphi 6
· Delphi 7
· Kylix 3
· Firebird 1
· Firebird 1.5

The driver is expected to work with C++Builder 6 - any comments on this are very much appreciated.

Known issues
· NUMERIC/DECIMAL datatype mapping happens according to the Delphi 7 InterBase dbExpress driver - all fields are mapped to TFMTBCD fields - this might require you to recreate your so-called "persistent fields" on your datasets

Additional technologies supported
Fully supports the dbExpressPlus package.

Installation
To use the driver in Delphi and/or C++Builder, add the following lines to "dbxdrivers.ini". You can find this file in [program files]\Common Files\Borland Shared\DBExpress. Do note that the below lines are ini-file sections. The section "installed drivers" already exists and the line should be added. The other section should be added completely.

For Windows:
[Installed Drivers]
Firebird by Upscene Productions=1

[Firebird by Upscene Productions]
GetDriverFunc=getSQLDriverFB
LibraryName=dbxup_fb.dll
VendorLib=GDS32.DLL

Place the driver file "dbxup_fb.dll" in your application folder or the [Windows]\system32 folder. Replace the "VendorLib" parameter with whatever Firebird client library you want to use.

guillotmarc
25-11-2003, 18:41:16
Hola.

Parece que te debe faltar el registrar el driver de Firebird en la configuración dbExpress.

Te traduzco esa parte :

Modificar el archivo de solo lectura Archivos de Program\Archivos Comunes\Borland Shared\DBExpress\dbxdrivers.ini

Añadir las filas (la sección Installed Driver ya debe existir) :

[Installed Drivers]
Firebird by Upscene Productions=1

[Firebird by Upscene Productions]
GetDriverFunc=getSQLDriverFB
LibraryName=dbxup_fb.dll
VendorLib=GDS32.DLL

Poner el archivo dbxup_fb.dll en una carpeta accesible (como la System32), y poner dbxup_fb.dll en la propiedad LibraryName del SQLConnection, así como gds32.dll o fbclient.dll (según quieras utilizar) en VendorLib

Espero que con esto ya te funcione.

Saludos.

ronimaxh
25-11-2003, 19:07:43
amigo marc ya hice los pasos de lugar para la instalacion del driver, ahora lo que me dice es isc error code335544325, isc error menssage bad parameters on attach or create dara base sharater set ansi_sharset is not defined.


nota: tengo otra pregunta para ti, en la parte de arriba del documento de texto dice Trial issues
The trial version of the driver is restricted to 20 transactions or 20 statements. Esto significa que solo puedo usarla 20 veces, si es asi digamen otro drever que no sea gratis.

guillotmarc
25-11-2003, 19:26:05
Parece ser que no has especificado los parámetros de conexión, en concreto puede ser que no hayas especificado el ServerCharset.

Lo más comodo, como te indiqué antes, es especificar los parámetros creando la conexión mediante el driver para Interbase de Borland. Una vez creada la conexión, simplemente cambia la propiedad LibraryName.

No conozco las restricciones de la trial, cuando lo probé en su momento, era una restricción de 30 dias de prueba, pero por lo que dices lo han cambiado. En todo caso no existe ningún driver dbExpress gratuito para Firebird, solo existe este driver comercial (no es muy caro), o utilizar el driver dbExpress para ODBC (http://sourceforge.net/projects/open-dbexpress/) y un driver ODBC para Firebird (aunque para eso parece mejor confiar en el driver de Interbase de Borland).

Saludos.

ronimaxh
25-11-2003, 21:06:03
te agradezco mucho toda la orientacion que me has brindado, pero todavia no puedo conectarme. el mensaje del error se repite (code335544325, isc error menssage bad parameters on attach or create dara base sharater set ansi_sharset is not defined.) y todo esta bien.

nota: aqui te escribo una muestra del codigo del componente sqlconnection:

DriverName=Firebird by Upscene Productions
Database=C:\Documents and Settings\mgarcia\Desktop\Firebird 1.5\ibet_2003.11.6.1_exe\NOMINA.fdb
RoleName=RoleName
User_Name=SYSDBA
Password=conta
ServerCharSet=ANSI_CHARSET
SQLDialect=3
BlobSize=-1
CommitRetain=False
WaitOnLocks=True
ErrorResourceFile=
LocaleCode=0000
Interbase TransIsolation=ReadCommited
Trim Char=False.

Nota: le cambien el password al usuario sysdba en el ibexpert.

guillotmarc
25-11-2003, 22:07:36
Hola.

El problema está en ServerCharset, que es lo que en IB-Expert se llama Charset y no Font Characters Set (que es el valor que estás dando).

Por lo que en esa propiedad tienes que poner el ISO8859_1 o WIN1251 que són los charsets que se usan habitualmente para poder introducir los carácteres del castellano (personalmente utilizo siempre el primero, más que nada porqué me gusta más lo de ISO por los estándares, que WIN de Windows).

NOTA : Al crear la base de datos, tienes que haber especificado el mismo charset.

Saludos.

ronimaxh
25-11-2003, 23:03:39
gracias otra vez marc, lo mas raro es que le puse en la propiedad ISO8859_1 y de el error luego que la cambien por el WIN1251 funciono(me conecto), y en la base de datos esta el primero, cosa rara.

guillotmarc
25-11-2003, 23:56:39
Hola.

Es importante que tengas el mismo en la base de datos y en el componente de acceso. Sinó puede que introduzcas un carácter y lo veas como otro, o lo más normal, que cuando introduzcas un carácter especial (acentos, ...) te salte un error.

Lo mas normal es que el error haya venido por un error al teclear el código iso8859_1, quizá podrias volver a probarlo. Si sigue sin funcionarte, entonces cambia la base de datos (mejor crea una nueva), para que funcione con el mismo charset (win1251) que el componente.

Saludos.

ronimaxh
26-11-2003, 13:40:27
gracias por toda la ayuda que has brindado gran amigo marc.