Ver Mensaje Individual
  #1  
Antiguo 07-01-2009
fredycc fredycc is offline
Miembro
 
Registrado: nov 2008
Posts: 18
Reputación: 0
fredycc Va por buen camino
Interbase server crash!

Tengo una aplicación donde intento insertar un blob, en este caso una imagen; al intentar insertar archivos mayores a 64 Kb aprox. el servidor de interbase se congela totalmente y ya no responde si quiera el administrador en este caso el IBExpert; solo cuando finalizo la aplicacion el servidor de interbase regresa.

Ahora bien ya lo he probado con la version de interbase 7.5.1 y la 2009 pero el resultado es el mismo; la version de Delphi que utilizo es Delphi 2007 .Net, el mismo StoredProcedure en la base de datos lo pruebo desde el IBExpert y funciona perfectamente; pero cuando mi aplicacion lo intenta hacer el servidor de Interbase ya no responde.

Les agradecería su valioso apoyo, gracias.

La tabla es la siguiente:

CREATE TABLE TAB_IMG (
IDE_IMG VARCHAR(20) NOT NULL,
IDE_INS_USR_SIS VARCHAR(10) NOT NULL,
IDE_UPD_USR_SIS VARCHAR(10),
NUM_REG_CLI VARCHAR(15),
NUM_REG_PROS VARCHAR(15),
IMG_BLOB BLOB SUB_TYPE -1 SEGMENT SIZE 80,
NOM_COM_IDE VARCHAR(70) COLLATE ES_ES,
FEC_NAC_IDE DATE,
IDE_TIP_IMG INTEGER,
EXT_FIL_IMG VARCHAR(10) NOT NULL,
EXT_FIL_COM VARCHAR(10),
);

El Código en el StoredProcedure es el siguiente:

CREATE PROCEDURE SP_INSERT_IMAGE_DIG (
i_ide_ins_usr_sis varchar(10),
i_num_reg_cli varchar(15),
i_img_blob blob sub_type 0 segment size 80,
i_ide_tip_img integer)
as
begin
insert into tab_img(IDE_INS_USR_SIS, NUM_REG_CLI, IMG_BLOB, IDE_TIP_IMG, EXT_FIL_IMG, EXT_FIL_COM, FIL_SZ_ORI, FIL_SZ_COM)
values (:i_ide_ins_usr_sis, :i_num_reg_cli, :i_img_blob, :i_ide_tip_img);
end

En Delphi lo acceso desde un componente llamado IBStroredProc:

with SProc do begin
StoredProcName:= 'SP_INSERT_IMAGE_DIG';
Prepare;
ParambyName('I_IDE_INS_USR_SIS').AsString := 'USR-1-A';
ParambyName('I_NUM_REG_CLI').AsString := 'a';
ParambyName('I_IMG_BLOB').LoadFromFile(inputFile,ftBlob);
ParambyName('I_IDE_TIP_IMG').AsInteger := 1;
ParambyName('I_EXT_FIL_IMG').AsString := 'a';
ParambyName('I_EXT_FIL_COM').AsString := 'a';
ParambyName('I_FIL_SZ_ORI').AsInteger := 1;
ParambyName('I_FIL_SZ_COM').AsInteger := 1;
ExecProc; <----------------------------------------------Exception!
stsMemo.Lines.Add('Enviando el archivo: '+inputFile);
Trans.Commit;
end;
Responder Con Cita