Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-01-2009
angelholberg angelholberg is offline
Miembro
 
Registrado: jul 2006
Posts: 15
Poder: 0
angelholberg Va por buen camino
Exclamation Problema Grave con conexión a BD Firebird

Saludos a todos lso del foro, bueno planteo mi problema:
Estoy realizando un sistema de BD utilizo componentes DBExpress Delphi 2009, la conección a la BD la hago por medio de código ya que no me es factible trabajar con el .INI el problema esta que cuando se genera algun error en cualquier parte de mi sistema esa conección establecidad del SQLConnection con mi BD se pierde, entonces quisiera alguien me pueda ayudar sobre esto, una idea que me surgio es hacer un tipo demonio que me este monitoreando la conección que este activa y cuando se desconecte la vuelva a establecer si alguien em peude ayudar gracias
Responder Con Cita
  #2  
Antiguo 22-01-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Tal vez si nos das un poco más de información, como detalles sobre los tipos de errores que aparentemente hacen que se pierda la conexión. Y qué mensajes aparecen en pantalla cuando esto sucede. Quizá también algo de código.

Y por otra parte la versión de Firebird y el controlador DBX que utilizas para esa conexión.

Saludos.
Responder Con Cita
  #3  
Antiguo 22-01-2009
angelholberg angelholberg is offline
Miembro
 
Registrado: jul 2006
Posts: 15
Poder: 0
angelholberg Va por buen camino
Arrow Detalle de Problema Grave con conección a BD Firebird

Gracias Al González por tu respuesta pues mira detallo mi problema:
1.- Uso Delphi 2009 y los componentes DBExpress
2.- Firebird 2.1
3.- La conección a la BD la hago despues del Application.Initialize; de mi proyecto aca muestro el código que utilizo:
With Datamodulo Do
Begin
SQLEmpresas.Connected := False;
SQLEmpresas.DriverName := 'InterBase';
SQLEmpresas.GetDriverFunc := 'getSQLDriverINTERBASE';
SQLEmpresas.LibraryName := 'dbexpint.dll';
SQLEmpresas.VendorLib := 'gds32.dll';
SQLEmpresas.LoginPrompt := False;
SQLEmpresas.Params.Clear;
SQLEmpresas.Params.Add('DatabaseVendor=Interbase');
SQLEmpresas.Params.Add('DriverName=Interbase');
SQLEmpresas.Params.Add('BlobSize=-1');
SQLEmpresas.Params.Add('CommitRetain=False');
SQLEmpresas.Params.Add('DataBase=' + vpRutaSis+ 'Base\FEEMPRESAS.fdb');
SQLEmpresas.Params.Add('ErrorResourceFile=');
SQLEmpresas.Params.Add('LocaleCode=0000');
SQLEmpresas.Params.Add('ServerCharSet=');
SQLEmpresas.Params.Add('SQLDialect=3');
SQLEmpresas.Params.Add('Interbase TransIsolation=ReadCommited');
SQLEmpresas.Params.Add('WaitOnLocks=True');
SQLEmpresas.Params.Add('User_Name=' + 'SYSDBA');
SQLEmpresas.Params.Add('Password=' + 'masterkey');
SQLEmpresas.Connected :=TRUE;
End;
4.- Todo funciona perfectamente mientras no se haya generado un error al ejecutar un Query por ejemplo un Insert Into, un Select, etc.
5.- Si sucede alguna exepción (tal es mi caso) al ejecutar la consulta muestra el errror, hay no ahy6 problema se que se esta haciendo aml una operación u otra cosa, despeus salgod e ese módulo y al intentar por ejemplo de hacer un Inser into me manda un mensaje que dice que no ahy conección con mi BD, entonces por tal motivo supongo mi SQLConnection se desconecta de mi BD

Gracias espero puedan ayudarme
Responder Con Cita
  #4  
Antiguo 23-01-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Personalmente aún no me he aventurado a usar Firebird 2 o alguna de sus subversiones, aunque tal vez lo haga este año.

Pero podría tratarse de algún problema de incompatibilidad entre esa versión y las DLLs utilizadas: dbexpint.dll y gds32.dll. Más probablemente con la primera, que quizá no tiene un soporte completo hacia Firebird 2.1 (puesto que ese controlador DBX está pensado solamente en InterBase).

Yo no tengo problemas por usarlo, pero es porque empleo la versión 1.5.x de Firebird. Se dice que también es compatible con la 2, pero de eso no estoy seguro.

También convendría que nos mostraras el mensaje de error exacto que te aparece (el relacionado con la conexión perdida).

Una sugerencia que hago con frecuencia es "aislar" el problema para detectar más fácilmente la causa. Básicamente es el crear una nueva aplicación con los elementos mínimos necesarios para reproducir el escenario de la falla. Con una aplicación reducida es más fácil averiguar qué origina el problema.

Adicionalmente podrías hacer pruebas con la conexión establecida desde tiempo de diseño, sólo para ver si aparece una diferencia de comportamiento a la hora de ejecutar tu aplicación y ocurrir un error de base de datos.

Espero haber orientado.

Al.
Responder Con Cita
Respuesta



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
Problema GRAVE con LoadPackage y MDIChild walito Varios 9 14-11-2007 21:50:52
Problemas con la conexión a Firebird en distintos equipos ugezuz Firebird e Interbase 3 23-05-2007 03:25:52
Problema grave de rendimiento ACK Firebird e Interbase 13 12-09-2005 17:10:44
una simple función, un grave problema.. DynaRoc Varios 6 23-11-2004 16:39:55
Grave problema en BASE DE DATOS interbase Manuel Firebird e Interbase 3 10-06-2003 01:05:36


La franja horaria es GMT +2. Ahora son las 12:52:42.


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