Ver Mensaje Individual
  #14  
Antiguo 07-11-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Eso no funciona así. Mira la contestación de Neftali, él te da un ejemplo.

Debes enfocar de otra forma. Tú tienes una BD, que es la que tienen los usuarios instalada.
En esa BD puedes tener un campo donde guardas la última sentencia ejecutada, ejemplo:
Cita:
UltimaSentenciaEjecutada integer;
Así cada cliente al abrir el programa, éste comprobará automáticamente si hay alguna actualización nueva, verificará si ya se ha ejecutado (mediante el campo UltimaSentenciaEjecutada, si es mayor entonces hay que ejecutarla, si es igual o menor es que ya se ejecutó en esta BD.

Hay infinidad de formas de hacerlo, puedes tener ficheros de sentencias (scripts.sql) con números consecutivos.
actualizacion1.sql, actualizacion2.sql, etc.
Puedes tener una BD externa con un par de campos:
Cita:
NumSentencia------SQL
1 update tbClientes add nuevocampo integer;
2 create table tbAlgo (id integer, nombre varchar(64)));
3 etc..
Y en UltimaSEntenciaEjecutada guardarías el NumSentencia última, obvio.

Hay varios hilos en los foros con ejemplos, echa un vistazo y luego regresa con las dudas que tengas.

Esto se ejecuta con isql o con algún componente de scripts, no se usa gbak.
Responder Con Cita