Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   De BDE a DBExpress (https://www.clubdelphi.com/foros/showthread.php?t=2124)

Sergio J. 09-07-2003 14:00:45

De BDE a DBExpress
 
Hola a la sala:

Tengo una aplicación desarrollada en Delphi 6 en tres niveles utilizando BDE e Interbase.
Tengo entendido que es mejor y más rápido, corregidme si me equivoco, utilizar DBExpress en vez de BDE.
Si es así, para este paso, a parte de cambiar todos los componentes del servidor (TQuery --> SQLQuery,...) y algunos campos del cliente (TFloatField --> TFMTBCDField,...) me gustaría saber qué más consideraciones debo tener en cuenta y al generar los archivos de instalación con InstallShield Express, cómo establecer la ruta y el driver de la BD y con qué objeto.

Gracias

guillotmarc 09-07-2003 14:24:15

Hola.

No va a ser tan sencillo, como hacer un buscar y reemplezar sobre los archivos .dfm, sustituyendo una clase por otra.

Por ejemplo, el equivalente del TQuery no es un TSQLQuery, sinó un TSQLQuery + un TDataSetProvider + un ClientDataSet. (Además, en los campos hay otros cambios, los de fecha hora, ahora són TTimeStampField)

Aquí tienes una guía de migración de BDE a dbExpress.

http://community.borland.com/article..._dbexpress.pdf

Sobre las instalaciones, simplemente asegúrate de distribuir el driver dbExpress de interbase (dbexpint.dll), y distribuir y registrar la midas.dll. Aparte también tienes que distribuir, logicamente, el cliente de Interbase, gds32.dll. Finalmente para configurar la conexión, yo no lo hago en tiempo de instalación, sinó de ejecución. Guardo en un archivo .ini la ruta de la base de datos (esto se puede hacer en la instalación), y al arrancar la aplicación, en el evento BeforeConnect de la conexión, establezco el parámetro database a ese ruta.

NOTA: Tanto dbexpint.dll como midas.dll, se pueden linkar directamente en el ejecutable por lo que no deberias distribuirlas. Para verlo, mira en la ayuda en el apartado distributing database applications, y busca referencias a static link.

Saludos.

Sergio J. 09-07-2003 22:32:25

Muchas gracias por tu aclaración. De todas formas la aplicación está desarrollada, como dije, en tres niveles o capas, y ya tengo por un lado en el servidor, el TDataSetProvider y en el cliente, los TClientDataSet. Así que teniendo todo esto controlado sólo sería cambiar los componentes del servidor y los campos numéricos y de fecha de los TClientDataSet.

Por otro lado tengo otra consulta, ya que utilizo DCOM para comunicar el Cliente con el Servidor, me gustaría que me sugirierais otro tipo de conexión, por ejemplo a través de TCP/IP y cómo hacer luego para distribuir y enlazar los clientes cuando instale.

Gracias


La franja horaria es GMT +2. Ahora son las 06:03:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi