PDA

Ver la Versión Completa : Componente TDBUpdateNumer FIBPlus


Gregorio Cíber
06-03-2017, 13:56:36
¡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

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?String=script&Title=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.
This component is an port from IBX component IBScript