Ver Mensaje Individual
  #4  
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
Gracias a los dos por responder.

Después de varias pruebas y opciones, el resultado siempre era el mismo.
Así que opte por cambiar el componente MDOScript por el IBScript y ahora funciona
a la perfección.
Debería de ser cosa del componente.

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Te debe de salir un error en el script, ya que no conocterá a la BD. Te falta la palabra "database'

Código SQL [-]
CONNECT 'Mibase.FDB' USER 'SYSDBA' PASSWORD 'masterkey';  /* mal */
Código SQL [-]
connect database 'mibase.fdb' user 'SYSDBA' password 'masterkey';  /* bien */
Casimiro, no me daba ningún error, solo me salia la ventana del login.
El Script estaba echo con database comparer.
Hice otro Script con IBExpert y el resultado era el mismo.
En los dos casos el Script eran iguales exceptuando que el IBExpert añade al final los privilegios.
Funciona igualmente sin el "Database".
Este es el Script echo con IBExpert:

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... */
/* Create(Add) privilege */
SET TERM ; ^

GRANT ALL ON PRUEBAS TO SYSDBA WITH GRANT OPTION;

Un saludo y gracias por vuestra ayuda.
Responder Con Cita