Hallo,
ich habe da eine D7-Funktion für Character-LOBs, die kann man auf .NET und BLOBs umbauen:
Delphi-Quellcode:
function ReadText(const aField: ADOInt.Field): string;
var
Chunk: OleVariant;
begin
Result := '';
if (aField.ActualSize = 0) then
begin
// leer
end
else
begin
Chunk := aField.GetChunk(ChunkSize);
while not VarIsNull(Chunk) do
begin
Result := Result + Chunk;
Chunk := aField.GetChunk(ChunkSize);
end;
end;
end;
Die Konstante ChunkSize bestimmt, wie viele Bytes auf einmal gelesen werden, bei Oracle Max. 65536. Bei
Access oder MS
SQL reicht bei Text-Feldern übrigens ein "Result := aField.Value", die Funktion wird für Oracle CLOBs benötigt.
Gruß
Christoph