Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 28-10-2008
Avatar de Ana María
Ana María Ana María is offline
Miembro
 
Registrado: ago 2008
Posts: 40
Poder: 0
Ana María Va por buen camino
Hola totote, Yo tengo BDS 2006, win Xp, dbExpress, ClientDataset y Firebird 2.1, he hecho algunas pruebas y me funciona todo muy bien.

El problema que tienes podría tratarse de que haya aplicaciones previas en algunas máquinas que podrían estar usando alguna versión distinta de dbExpress o Firebird.

Lo que yo he hecho es compilar estáticamente el proyecto, para esto he declarado en la clausula uses del proyecto "MidasLib" y "dbExpINT" ; con esto no hay necesidad de llevar dbxint30.dll ni tampoco hay necesidad de llevar y menos de registrar midasDll, y así podrán convivir pacíficamente aplicaciones que usen versiones diferentes de estas librerías.

Observa el siguiente ejemplo:

Código Delphi [-]

//Agregando librerias
program prClientDll;

uses
  Forms, MidasLib, dbExpint,
  UMain in 'UMain.pas' {Form1},.....

// Evento BeforeConnect de un TSQLConnection cuyo nombre es conexion

procedure TPruebaServidor.ConexionBeforeConnect(Sender: TObject);
var
   FileName: string;
begin
   FileName := ChangeFileExt(GetModuleName(HInstance), '.ini');//agregar //SysUtils
   if FileExists(FileName) then
      Conexion.LoadParamsFromIniFile(FileName);
end;// filename debe tener el mismo nombre que la aplicación con extensión //.ini

Con GetModuleName obtienes el nombre de la aplicación y con HInstance te aseguras de que el evento funcione así muevas el Módulo de datos a una DLL ActiveX para hacer un servidor o lo que se te antoje ( si la aplicación es multipuesto).

Ahora si se tratara de una aplicación monopuesto sería mucho mas fácil al tratarse de un Servidor Embebed yo lo conecto con tan solo esto:

Código Delphi [-]
procedure TPruebaLocal.ConexionBeforeConnect(Sender: TObject);
begin
Conexion.Params.Values['Database']  := ExtractFilePath(Application.ExeName)+'\Prueba.fdb';
end;

El resto de parámetros de la conexión los configuro en tiempo de diseño. Y solo copio las DLLs del Fierebir Embebed (que son generalmente 4 si no necesitas algo especial) mas los archivos firebird.conf y Firebird .Msg en el directorio de la aplicación renombrando FbEmbed.dll por GDS32.dll y listo.

Esto a mí me funciona bién en varias maquinas en las que he hecho las pruebas, espero te sirvan de algo.

Saludos.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
BDE o dbExpress? Novat0 Conexión con bases de datos 2 05-02-2007 18:02:43
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 Gaby123 API de Windows 5 04-01-2007 22:44:51
dbexpress cvinas Providers 4 16-06-2006 15:32:28
Distribucion de una aplicacion que usa dbexpress chux Conexión con bases de datos 11 12-05-2006 23:11:50
Aplicación con DBExpress Ana Conexión con bases de datos 1 02-07-2003 15:09:58


La franja horaria es GMT +2. Ahora son las 15:07:45.


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
Copyright 1996-2007 Club Delphi