Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Oracle 8.1.5 Blob Problem
Hello,
Using Oracle Server 8.1.5. on Siemens BS2000 and NT Client 8.1.5.
I'm experiencing a very strange problem when writing to a Blob and then
reloading the data from the Blob:
When the data is >32kb, it seems that Oracle adds a Byte of Data exactly at
the adress 2000h of the Blob.
Eg: I load a Word Document of 50kb into an Oracle Blob Field and then i
retrieve the Word Document from the Oracle Database.
Hexadecimal comparison of the Word document shows that Oracle has duplicated
the Data-Byte loated at address 1fff hex in my Word Document into the Byte
2000 hex, thus making the Word Document unreadable due to checksum error.
(Btw. using Delphi 5 for loading and retrieving the Blob. I've tried various
methods for loading the blob: (LoadFromFile, Streaming, asString)
Also it happens that Oracle seems to go completely mad after i load a Blob
of 32k:
It appears as if Oracle is duplicating all my records in the Table as soon
as i insert a Blob of >32k.
Using Delphi's SQL-Explorer, all of my records suddenly appear twice in the
DB (at least it appears so), despite primary key contraints.
I tried a different approach, using the ODAC components for Delphi. Things
are even worse here:
After loading a >32kb Blob and then trying to retrieve the data, i suddenly
get an Error like:
ORA-01115, error reading file 5 Block#8152.
The ORA-01115 Error usually points to a disc error, but i suspect in this
special case it is due to the same problem described above, the actual
Blob-Length being inconsistent with the expected Blob-Length.
Any hints are much appreciated,
Claude
Received on Fri Mar 08 2002 - 16:46:17 CST
![]() |
![]() |