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)
-   -   Componente TDBUpdateNumer FIBPlus (https://www.clubdelphi.com/foros/showthread.php?t=91564)

Gregorio Cíber 06-03-2017 13:56:36

Componente TDBUpdateNumer FIBPlus
 
¡Hola amigos!

He estado buscando en este foro y otros, así como en el resto de la WEB y no he encontrado nada referido al componente TDBUpdateNumber de FIBPlus. Así que pido ayuda por si alguien lo ha utilizado.

La aplicación está hecha en D6 y FIBPlus 1.3, algo viejos ambos pero funcionado perfectamente.

Se trata de, una vez descargados de un FTP los archivos scripts de actualización de una BD, mediarte un ciclo ir cargando los ficherosy a través del componente proceder a la actualización. El código que utilizo, evidentemente reducido, es el siguiente

Código Delphi [-]
  begin
    c_archivo := 'Actualización 100.sql';
    if FileExists(c_archivo) then
    begin
      try
        DTB_Temp_Actualizacion.Script.Clear;
        DTB_Temp_Actualizacion.Script.LoadFromFile(c_archivo);
        (1) DTB_Temp_Actualizacion.CheckAndUpdate(c_mensaje_error)
        (2) DTB_Temp_Actualizacion.ExecuteScript;
        DTB_Temp_Actualizacion.Script.Clear;
     except
       // Captura del error
     end;
  end;

Si lo ejecuto con la utilizando la línea (1) devuelve el error 'This client is too old!'. Si lo hago con la (2) da tamién error pero no informa. En ambos casos, creo que lógicamente, no actualiza la BD.

¿Alguien puede decirme algo al respecto?

Gracias anticipadas.

Casimiro Notevi 06-03-2017 17:33:51

¿TDBUpdateNumber? sí que debe ser muy antiguo.

Gregorio Cíber 06-03-2017 18:50:50

Sí que lo es, Casimiro. Lo que ocurre es que esta aplicación no merece la pena actualizarla porque está puesta en sólo dos clientes.
¿Hay algún componente por ahí compatible con D6 con lo que pueda hacer lo que quiero?

Casimiro Notevi 06-03-2017 19:58:31

Creo que tienes dos opciones válidas:
- Ejecutar isql con el script
- Ejecutar las sentencias con un query "normal", separándolas una a una.
Otra opción es usar el componente de scripts de las IBX, en lugar de ese de las FIBplus.

Gregorio Cíber 10-03-2017 07:24:57

Gracias Casimiro por responder.
He estado probando las posibles soluciones que me apuntabas, pero ninguna funcionaba bien para lo que quería.
Después de días buscando en internet, he encontrado la solución. Dejo la dirección de descarga del componente libre TpFIBScript por si a alguien le puede servir:

http://torry.net/quicksearchd.php?St...tle=Yes&page=2

Un saludo.

Casimiro Notevi 10-03-2017 11:39:15

Solamente tenías que haber usado el que te he indicado, el de las IBX, que trae delphi, y que funciona perfectamente.
De todas formas el que has usado es una copia del mismo, así que has instalado otro componente sin necesidad.
Cita:

This component is an port from IBX component IBScript


La franja horaria es GMT +2. Ahora son las 09:37:14.

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