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)
-   -   Conexion automatica Delphi 10.3 Firedac y Firebird (https://www.clubdelphi.com/foros/showthread.php?t=95563)

amadis 11-02-2022 11:03:45

Conexion automatica Delphi 10.3 Firedac y Firebird
 
Queria comentarles algo extraño que me ha pasado dos veces y aun no he descubierto el por qué. Y he solucionado copiando archivos de un backup que hago a diario.

El panorama es el siguiente, tengo un proyecto en delphi 10.3 conexion Firedac a Firebird 3.

En el datamodule, tengo todos los componentes de conexion y querys.

Para los querys y conexión tengo la propiedad CONNECTEDSTOREUSADE [desigtime] de modo de poder hacer pruebas en tiempo de diseño. Esta conexion la creé en tiempo de diseño desde click derecho en el componente FDConnection con Connection editor.
Tiene especificada su ruta de base de datos de prueba, ej D:\dbprueba.fdb

Luego en el datamodule, en el evento CON CREATE asigno la ruta real de la base de datos, y leo parametros de un ini ya que cada maquina podra variar ruta.

Código Delphi [-]
 with FDCon do
     begin

        Close;
        // create temporary connection definition
        with Params do
         begin
          Clear;
          Add('DriverID=FB');       
          Add('Database=' + rutabase);
          Add('User_Name=SYSDBA' );     
          Add('CharacterSet=ISO8859_1');   

         Add('Server='+BdHost );

         Add('Port=' + bdpuerto);
         Add('Password=123456789');
         Add('Protocol=ipTCPIP');
         Add('SQLDialect=3');

        end;
        open;

    end;

Ahora les cuento lo raro que me ha pasado dos veces.

En algún momento queda algo TILDADO o GUARDADO, en el DATAMODULE, y queda queriendo conectar a la ruta de la BDPRUEBA que esta configurada en el componente conexion. Y al ejecutar el sistema en otro equipo que no tiene esa base de prueba da error al iniciar de que no encontro la ruta.

Ejecutando paso a paso, se crea el formulario del proyecto, ejecuta todo el oncreate del form, luego en el onshow del proyecto da error.

NO LLEGA AL ONCREATE del DATAMODULE que viene despues del FORM PRINCIPAL.

Es como si el componente conexion estuviera ACTIVADO EL CONNECTED TRUE, pero no

Lo unico que me a ayudado en esos dos casos fue volver a colocar archivos viejos del datamodule que funcionaba

¿hay algun lado que guarde algo más sobre la conexion?

aledieb 11-02-2022 17:24:35

Hola, a mi me pasa algo similar pero con MariaDb, solo cuando olvido revisar la conexión antes de compilar la versión para el cliente.
Algunas veces al revisar algún query la conexión se activa en diseño y queda activada y si no reviso que este desactivada en el cliente busca mi conexión de pruebas.

amadis 11-02-2022 21:00:10

Con la idea de evitar eso que me ha pasado muchas veces, descubri el uso de la propiedad CONNECTEDSTOREUSADE [desigtime]

De esa forma podes dejar siempre conectado la conexion y querys y solo quedaria en diseño. Ante este problema volvi a recompilar con la conexion apagada para asegurar pero nada. Por algun lado debe quedar alguna otra opcion similar que sin darme cuenta se debe activar.

Otra curiosidad es que compare el DFM y PAS del DATAMODULE con Notepad++ y no vi diferencias. Salvo unos campos que entre el backup y la version final había agregado.

Por suerte siempre trato de probar antes de ir al cliente en maquinas virtuales sin ningun entorno de programacion ni acceso a mis discos


La franja horaria es GMT +2. Ahora son las 22:34:23.

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