Ver Mensaje Individual
  #1  
Antiguo 18-06-2012
Avatar de Luis M.
[Luis M.] Luis M. is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Ripollet - Barcelona
Posts: 212
Reputación: 20
Luis M. Va por buen camino
Script para actualizar DB en Firebird

Hola.
Estoy haciendo pruebas para actualizar una base de datos en Firebird 2.5
Utilizo D2007 y MDO
En un MDOScript pongo lo siguiente:


Código Delphi [-]
/* Server version: WI-V6.3.1.26351 Firebird 2.5 
   SQLDialect: 3. ODS: 11.2. Forced writes: On. Sweep inteval: 20000.
   Page size: 4096. Cache pages: 2048 (8192 Kb). Read-only: False. */
SET NAMES ISO8859_1;

SET SQL DIALECT 3;

CONNECT 'Mibase.FDB' USER 'SYSDBA' PASSWORD 'masterkey';

SET AUTODDL ON;

/* Create Domains... */
CREATE DOMAIN PRUEBAS AS VARCHAR(10) COLLATE ES_ES_CI_AI;

/* Create Table... */
CREATE TABLE PRUEBAS(USUARIO USUARIO,
CODIGO PRUEBAS NOT NULL,
FAMILIA FAMILIAS);



/* Create Procedure... */
SET TERM ^ ;

CREATE PROCEDURE ULTIMA_PRUEBA(USUARIO USUARIO)
 RETURNS(ULTIMA VARCHAR(10))
 AS
 BEGIN SUSPEND; END
^


/* Create Primary Key... */
SET TERM ; ^

ALTER TABLE PRUEBAS ADD CONSTRAINT PK_PRUEBAS PRIMARY KEY (USUARIO, CODIGO);

/* Create Foreign Key... */
RECONNECT;

ALTER TABLE PRUEBAS ADD CONSTRAINT FK_PRUEBAS_1 FOREIGN KEY (USUARIO) REFERENCES USUARIOS (CODIGO) ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE PRUEBAS ADD CONSTRAINT FK_PRUEBAS_2 FOREIGN KEY (USUARIO, FAMILIA) REFERENCES FAMILIAS (USUARIO, FAMILIA) ON UPDATE CASCADE;

/* Alter Procedure... */
/* Restore proc. body: ULTIMA_PRUEBA */
SET TERM ^ ;

ALTER PROCEDURE ULTIMA_PRUEBA(USUARIO USUARIO)
 RETURNS(ULTIMA VARCHAR(10))
 AS
begin
  /* Procedure Text */
  select max(codigo) from pruebas where usuario = :usuario into :ultima;
  suspend;
end
^

/* Alter Procedure... */
SET TERM ; ^

Y lo llamo con MDOScript.ExecuteScript;

El problema es que me sale la ventana para que introduzca el usuario y password.
El usuario pone por defecto SYSDBA y me pide el password.
Si introduzco el password, me funciona perfectamente el Script pero para un sistema de actualización
no creo que sea lo más apropiado.
Como impido que me salga la ventana de usuario y se ejecute el Scrip sin problemas?

Un saludo.
Responder Con Cita