Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.060 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Firedac probleme mit Blob

  Alt 19. Jul 2016, 21:10
Datenbank: Firebird • Version: 2.5 • Zugriff über: Firedac
Hallo Zusammen,

ich habe ein großes Problem mit Blobs.
In einer Tabellen sind Bilder in ein Blob-Feld abgelegt.

Alle Blobs bis auf eines werden korrekt ausgelesen.
Schaue ich mit IBExpert in die Tabelle Bilder rein, ist die kleine Grösse die das BilderDataSet.FieldByName('BILD').Size ausgibt exakt identisch.

Das Feld ist angelegt als FieldType=BlOB Size=1024 Suytype=Binary.

Er fällt auf dass der Stream genau um den Faktor 1024 größer ist. Ist das Zufall oder hat das was mit der definierten Blob-Größe von 1024 zu tun?

Delphi-Quellcode:
var TmpStream:TStream;
begin
  TmpStream := BilderDataSet.CreateBlobStream(BilderDataSet.FieldByName('BILD'),bmRead);

  cmAppendTarget.Params.ParamByName('BILD').LoadFromStream(TmpStream,ftBlob);

  Memo1.Lines.add(Format('SizeQ= %d SizeZ= %d',[BilderDataSet.FieldByName('BILD').Size, TmpStream.Size]));

  TmpStream.Free;
SizeQ= 20801 SizeZ= 20801
SizeQ= 19907 SizeZ= 19907
SizeQ= 23810 SizeZ= 23810
SizeQ= 31347 SizeZ= 32099328 <<<<Warum wird der Stream Faktor 1024 größer?
SizeQ= 24599 SizeZ= 24599
SizeQ= 18064 SizeZ= 18064
SizeQ= 15731 SizeZ= 15731
SizeQ= 15295 SizeZ= 15295
SizeQ= 12934 SizeZ= 12934
SizeQ= 26518 SizeZ= 26518
SizeQ= 4787 SizeZ= 4787
SizeQ= 7283 SizeZ= 7283
SizeQ= 26060 SizeZ= 26060
SizeQ= 22652 SizeZ= 22652

hat jemand eine Idee?
Gruß Kostas
  Mit Zitat antworten Zitat