Oracle® Objects for OLE Developer's Guide 11g Release 2 (11.2) for Microsoft Windows Part Number E17727-03 |
|
|
PDF · Mobi · ePub |
Enables buffering of LOB operations.
OraBlob.EnableBuffering OraClob.EnableBuffering
When enabled, buffering uses the LOB Buffering subsystem to minimize network round-trips by buffering changes until the FlushBuffer
method is called. This can be beneficial to applications that perform a series of repeated small reads and writes to specific areas of a LOB.
There are many caveats and restrictions for using LOB buffering. These are summarized here, but for complete information, see the Oracle Database SecureFiles and Large Objects Developer's Guide.
The following LOB methods cannot be used while buffering is enabled:
Append
Copy
Erase
Size
Trim
CopyFromBFILE
CopyFromFile
CopyToFile
There is currently a 512 KB limit to the amount of a single read/write operation.
Error reporting for buffered operations is delayed until the next database access.
Transactional support is not guaranteed. Users must roll back changes manually if an error occurs.
Do not perform updates to a LOB column that bypasses the buffering system while in the same transaction as a buffer-enabled LOB. Performing an INSERT
statement can cause this.
Only one LOB object is allowed to perform buffered writes to a given LOB. Other LOB objects that point to the same LOB raise an error if they attempt a buffered write.
A LOB object taken from an OraParameter
object raises an error if it is buffer-enabled and bound to an OUT
parameter.
The Clone
method can raise an error for buffer enabled LOBs.
Appending directly to the end of the LOB is allowed, but any write operation whose offset extends beyond the end of the LOB and results in blank padding (for CLOB
) or zero padding (for BLOB
) raises an error.