ADOkomponenter og CLOB/Oracle
HejJeg har et problem når jeg forsøger at hente tekst ud af et CLOB-felt i en Oracle DB.
Her er lidt af koden:
//-------------------------
if P_ADOConnection.Connected then
begin
P_ADOQuery.Close;
P_ADOQuery.sql.Text := 'bla bla bla...'
P_ADOQuery.Open;
P_ADOQuery.First;
while not P_ADOQuery.EOF do
begin
BlobField := TBlobField(P_ADOQuery.FieldByName('IOBJ_SGMLTEXT_EPUB'));
BlobStream := TBlobStream(P_ADOQuery.CreateBlobStream(BlobField, bmRead));
Blobstream.SaveToFile('d:\TEMP.xml');
P_ADOQuery.Next;
end;
end;
//-------------------------
problem:
Jeg får ikke altid alt teksten med ud fra ovenstående stream. I nogle tilfælde er det kun ca. halvdelen af CLOB-feltet jeg får ud.
Nu er det sådan at DB'en kører unicode og jeg tror det er årsagen til problemmet. Hvis jeg logger på en anden DB der ikke kører unicode, så opstår problemmet ikke.
Hvordan skal jeg konvertere Data'en? Kan ADOkomponenterne ikke klare denne opgave?
På forhånd tak.