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 Buscar Temas de Hoy Marcar Foros Como Leídos

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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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:09:48.


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