Page 1 of 1

Stream read error when obtaining a BLOB

Posted: Wed 16 Aug 2006 04:48
by scarecrow
ODAC 5.70.1.34, Delphi 7 (Build 8.1), Oracle 9.2.0.6

We cannot get a blob field value due to the following error:

Code: Select all

Exception Class:   "EReadError"
Exception Message: "Stream read error"
The field is accessed as following:

Code: Select all

Query.SQL.Text := 'select file_content from files where id=:1';
...
sContent := Field.AsString;
ODAC 5.55.1.24 worked ok.

Please help us A.S.A.P. as we are being urged to upgrade...

Posted: Wed 16 Aug 2006 05:46
by scarecrow
I also tried to use (Field as TBlobField).SaveToFile(), but error remains the same.

Posted: Wed 16 Aug 2006 06:13
by scarecrow
We have found the error cause. It's TOraSession.Options.ConvertEOL. When it's True looks like it tries to convert BLOB field content which is definitely an erroneous behavior.

ODAC 5.55 was handling it correctly.

It's very important for us to upgrade, but we cannot turn off ConvertEOL. When can we expect this bug be fixed?

Posted: Thu 17 Aug 2006 09:05
by Plash
We have fixed this problem. The fix will be included in next build of ODAC.

Posted: Wed 23 Aug 2006 15:11
by nschmied
And similary issuse if you use ConvertEOL and IsUnicode=True, with Clob.

Because ReadClob convert EOL and add some byte and after the length doesn't egal to count. And Borland TStream raise a error.

Thank,
NSC