Tengo un codigo en Sql, que estoy generando automaticamente (un requisito para mi aplicacion de logging), que corre bien en IB Expert y no por dbExpress.
Llevo ya 3 dias llendo de aqui para alla y nada...
El error que saca es "Token Unknow - Line 5 char 82 ?", que segun mis cuentas es esta linea:
SELECT "IdFileGroup" FROM "GrupoArchivosBinarios" WHERE "IdFileGroup"=:"IdFileGroup" INTO :lvIdFileGroup;
Uso D7, dbExpert, Firebird 1.5 con la opcion de embebed engine, configurada la conexion asi:
Código Delphi
[-]
object dbCon: TSQLConnection
ConnectionName = 'IBConnection'
DriverName = 'Interbase'
GetDriverFunc = 'getSQLDriverINTERBASE'
LibraryName = 'dbexpint.dll'
LoginPrompt = False
Params.Strings = (
'DriverName=Interbase'
'Database=D:\Proyectos\FileLog\Servidor\Data\FileLog.gdb'
'RoleName=RoleName'
'User_Name=sysdba'
'Password=masterkey'
'ServerCharSet='
'SQLDialect=3'
'ErrorResourceFile='
'LocaleCode=0000'
'BlobSize=-1'
'CommitRetain=False'
'WaitOnLocks=True'
'Interbase TransIsolation=ReadCommited'
'Trim Char=False')
VendorLib = 'gds32.dll'
Left = 16
Top = 8
end
object ExeSql: TSQLQuery
MaxBlobSize = -1
Params = <>
SQLConnection = dbCon
Left = 56
Top = 8
end
El codigo que ejecuto es exactamente:
Código SQL
[-]
CREATE PROCEDURE GrupoArchivosBinarios ("IdFileGroup" INTEGER ,"ParentIdFileGroup" INTEGER ,"GroupName" CHAR(30) ,"FileExtensions" CHAR(150) )
AS
DECLARE VARIABLE lvIdFileGroup INTEGER;
begin
SELECT "IdFileGroup" FROM "GrupoArchivosBinarios" WHERE "IdFileGroup"=:"IdFileGroup" INTO :lvIdFileGroup;
IF (:lvIdFileGroup IS null) THEN
BEGIN
INSERT INTO "GrupoArchivos"
( "IdFileGroup", "ParentIdFileGroup", "GroupName", "FileExtensions")
VALUES
( :"IdFileGroup", :"ParentIdFileGroup", :"GroupName", :"FileExtensions");
INSERT INTO "GrupoArchivosBinarios"
( "IdFileGroup")
VALUES
( :"IdFileGroup");
END ELSE BEGIN
END
end
Para crear la tabla corro este codigo (sin problemas, lo pongo para poder reproducir)
Código SQL
[-]
CREATE TABLE "GrupoArchivos" (
"IdFileGroup" INTEGER NOT NULL,
"ParentIdFileGroup" INTEGER NOT NULL,
"GroupName" CHAR(30) NOT NULL,
"FileExtensions" CHAR(150) NOT NULL);
CREATE GENERATOR "Gen_GrupoArchivos_IdFileGroup";
SET GENERATOR "Gen_GrupoArchivos_IdFileGroup" TO 0;
CREATE TRIGGER "GrupoArchivos_TK" FOR "GrupoArchivos" ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW."IdFileGroup" IS NULL) THEN NEW."IdFileGroup" = GEN_ID("Gen_GrupoArchivos_IdFileGroup",1); END
ALTER TABLE "GrupoArchivos" ADD CONSTRAINT PK_GrupoArchivos PRIMARY KEY ("IdFileGroup")