Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema con TFileStream en Campo Blob (https://www.clubdelphi.com/foros/showthread.php?t=43910)

ramiretor 23-05-2007 20:21:11

Problema con TFileStream en Campo Blob
 
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

seoane 23-05-2007 20:41:42

Se me ocurre lo siguiente:
Código Delphi [-]
Archivo := TFileStream.Create(MiArchivo, fmOpenRead or fmShareDenyWrite);
Así permitimos que el archivo pueda ser abierto varias veces en modo de solo lectura, sin que se produzca ningún error.

ramiretor 24-05-2007 00:13:19

Gracias por la ayuda, ya jaló pero era problema de base de datos no del archivo. De todas maneras muchas gracias por el comentario


La franja horaria es GMT +2. Ahora son las 01:23:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi