Buenas a todos:
Tengo el siguiente problema, por razones del destino tengo que guardar archivos en un campo de base de datos. Uso Delphi 2006 base de datos DB2 y componentes dbExpress. Despues de intentar por varios métodos, encontramos (porque asi nos lo sugirió alguien en Borland ) que a un TSimpleDataSet se le pueden pasar los parámetros, de la siguiente manera
Código Delphi
[-]
procedure GuardaArchivo;
var
Archivo: TFileStream;
begin
Archivo := TFileStream.Create(MiArchivo, fmOpenRead);
with SimpleDataSet do
begin
DataSet.ParamByName('NUMCIA').AsInteger := NumCia;
DataSet.ParamByName('USERID').AsInteger := User;
DataSet.ParamByName('ARCHIVO').LoadFromStream(Archivo, ftBlob);
Execute;
end;
FreeAndNil(Archivo);
end;
Esta rutina funciona bien, cuando se trata de un solo registro para guardar pero ahora tenemos el problema de que como la llave de esa tabla son los primeros dos parámetros, si en un mismo proceso (queremos guardar el mismo archivo para varios usuarios) marca el error"El archivo está siendo usado por otro proceso" y solo guarda el primer registro
¿Alguien me puede ayudar?
Gracias