Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Conectar ZEOS con la BD en diseño (https://www.clubdelphi.com/foros/showthread.php?t=72674)

rrf 04-03-2011 20:22:29

Conectar ZEOS con la BD en diseño
 
Hola a tod@s.

CON LAZARUS, no logro conectar el componente ZConnection de ZEOS con la BD en tiempo de diseño.

Uso Zeos 6.6.6, con Firebird 2.0.5, con Lazarus 0.9.29 en Win XP (SP 3).

Lo he hecho sin problemas usando Delphi 7 y la misma versión de los Zeos.

El problema consiste en que, al intentar conectar, me aparece el error de que no puede encontrar las librerías dinámicas Fbclient.dll o Fbclient20.dll. Este es el mensaje:

"None of the dynamic libraries can be found: Fbclient20.dll, Fbclient.dll"

El archivo Fbclient.dll lo incluyo en la misma carpeta en la que está el programa ejecutable (y eso funciona bien con Delphi 7).

En tiempo de ejecución puedo conectar sin problema.

Pero, para incluir los campos de la tabla a la que se accede, debo usar la opción de hacer clic con el botón derecho sobre el componente ZQuery y seleccionar "Editar Campos..." y eso no parece posible con ZConnection sin conectar (en tiempo de diseño).

Tampoco puedo generar el contenido de las propiedades DeleteSQL, InsertSQL y ModifySQL en el componente ZUpdateSQL usando la opción de hacer clic con el botón derecho sobre el componente ZUpdateSQL y seleccionar "UpdateSQL editor...".

Gracias de antemano.

Casimiro Noteví 05-03-2011 12:18:33

Acabo de hacer una prueba y funciona correctamente, ¿seguro que está firebird activo?

rrf 05-03-2011 21:01:22

Cita:

Acabo de hacer una prueba y funciona correctamente, ¿seguro que está firebird activo?
Seguro.

Pero siguiendo el planteamiento que haces, desinstalé Firebird y lo volví a instalar. Antes estaba como aplicación y ahora está como servicio. Además, copié el archivo Fbclient.dll en la carpeta system32.

Y la cosa ha mejorado, porque ahora sí que puedo conectar, en Lazarus, el componente ZConnection sin mensajes de error.

También se resolvieron unos detalles que me aparecieron haciendo las últimas pruebas con Delphi 7.

Sin embargo, en Lazarus, cuando intento incluir los campos en el ZQuery haciendo clic en el componente con el botón derecho y seleccionando la opción "Editar campos...", al aparecer la ventana y hacer clic con el botón derecho y seleccionar la opción "Añadir campos" me aparece el mensaje de error: "No es posible obtener la lista de campos del dataset. Comprobar opciones del dataset. Access violation.".

Además y también en tiempo de diseño, cuando intento poner a true la propiedad "Active" del ZQuery, me da el mensaje de error: "Access violation.".

Con lo cual, he avanzado aunque no he podido resolver completamente el problema.

Aclaro que después de reinstalar Firebird y también en tiempo de diseño, en Delphi 7 desaparecieron todos lo problemas y puedo hacer todo lo que me falla con Lazarus.

Las pruebas que hago en Delphi 7 y en Lazarus son iguales.

¿Alguna sugerencia?

Gracias de antemano.

Casimiro Noteví 05-03-2011 21:08:56

Haría falta ver al menos los parámetros del zquery y del zconnection

rrf 07-03-2011 12:14:26

Hola de nuevo.

Cita:

Haría falta ver al menos los parámetros del zquery y del zconnection
Pues muchas gracias y aquí están las propiedades de ambos:

Código:

ZConnection

AutoCommit  True
Catalog
Connected  True
Database    C:\Employee.fdb (realmente es otra, lo dejo así para simplificar)
DesignConnection False
HostName
LoginPrompt False
Name        ZConnection1
Password    masterkey
Port        0
Properties  (vacío)
Protocol    Firebird-2.0
ReadOnly    False
SQLHourGlass False
Tag        0
TransactlsolationLevel tiReadCommitted
User        sysdba
Version    6.6.6-stable

--------------------------------------------------
ZQuery

Active          False
AutoCalcFields  True
CachedUpdates  False
Connection      Konnection1
DataSource
FetchRow        0
Filter
Filtered        False
IndeyFieldNames
LinkedFields
MasterFields
MasterSource
Name            ZQueryI
Options        [doCalcDef auks]
ParamCheck      True
Params          0 items
Properties      (TStrings)
ReadOnly        False
Sequence
SequenceField
ShowRecordTypes
SortedFields    [usUnmodified,usModified,usInserted]
SortType        stAscending
SQL            'Select * from Job'
Tag            0
UpdateMode      umUpdateChanged
UpdateObject
WhereMode      wreWhereKeyOnly

Además, añado que la mejora que comenté en mi anterior mensaje fue debida a poner en la carpeta System32 el archivo Fbclient.dll y que no tiene relación con que Firebird esté como aplicación o como servicio.

Saludos.

Casimiro Noteví 07-03-2011 12:26:08

¿Y te ocurre con cualquier base de datos o sólo esa?

rrf 08-03-2011 11:28:19

Cita:

¿Y te ocurre con cualquier base de datos o sólo esa?
Pues, ahora mismo no sabría darte una respuesta clara, pues he hecho tantas pruebas que ya no lo recuerdo.

Cita:

Acabo de hacer una prueba y funciona correctamente, ¿seguro que está firebird activo?
Curiosamente con esta sugerencia que inicialmente me hiciste, parece que dabas una pista para la solución al problema.

Después de muchísimas pruebas, opté por desinstalar Firebird 2.0.5 e instalar la versión 2.1.3 y todo empezó a funcionar "normalmente".

Desconozco la razón (incluso puede que esa no sea la causa), pero con la versión 2.1.3 de Firebird desaparecieron los problemas por los que inicié este hilo.

Así que: "Colorín colorado, este hilo... se ha acabado".

Muchas gracias Casimiro.

Saludos.


La franja horaria es GMT +2. Ahora son las 17:04:07.

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