Operations on tables and views that contain LOB data in Oracle Database
The Microsoft BizTalk Adapter for Oracle Database provides support for the Oracle large object (LOB) data types:
Binary large object (BLOB)
Character large object (CLOB)
National character large object (NCLOB)
Binary file (BFILE). For more information, see Operations on Tables that contains BFILE Data Types.
On the Oracle database, LOB data types are used to store large amounts of data (up to 4 GB). LOB types support both input and output streaming.
The Microsoft BizTalk Adapter for Oracle Database surfaces the following operations for tables and views that contain LOB columns:
ReadLOB. The ReadLOB operation is surfaced for tables and views that contain BLOB, CLOB, NCLOB, and BFILE columns. By using the ReadLOB operation, adapter clients can read values in a LOB column as a data stream. This operation takes the LOB data type column name and a filter string as parameters. Adapter clients must ensure that the filter string fetches exactly one matching row. If there is more than one matching row, the Oracle Database adapter only returns the LOB column for the first (matching) row.
Note
The ReadLOB operation is designed to support input streaming of LOB data in the WCF service model. You should use a table Select operation to read LOB data from a WCF Channel Model or BizTalk Server solution. For more information about streaming, see Streaming Support for LOB Data Types in Oracle Database.
UpdateLOB. The UpdateLOB operation is surfaced for tables and views that contain BLOB, CLOB, and NCLOB columns. By using the UpdateLOB operation, adapter clients can update values in a LOB column. This operation takes the LOB data type column name, a filter string, and base64binary encoded data as parameters. Adapter clients must ensure that the filter string fetches exactly one matching row; otherwise the Oracle Database adapter throws an XmlReaderParsingException.
Note
The UpdateLOB operation:
- Is not supported for the BFILE data type. Adapter clients can alternatively use the Update operation. For more information, see Operations on Tables that contains BFILE Data Types.
- Must be performed as part of a transaction. To ensure this, the UseAmbientTransaction binding property must be set to True. For information about the UseAmbientTransaction binding property, see Configure the binding properties for Oracle Database.
- Is not supported for the BFILE data type. Adapter clients can alternatively use the Update operation. For more information, see Operations on Tables that contains BFILE Data Types.
Note
ReadLOB and UpdateLOB operate on a single LOB column in a single table row. To operate on LOB columns in multiple rows or on multiple LOB columns within a single row, you must invoke ReadLOB or UpdateLOB for each target column within each target row.
For more information about:
Invoking the UpdateLOB operation on an Oracle database table using BizTalk Server, see Performing Operations on Tables with Large Object Types Data by Using BizTalk Server. (You should use a table Select operation to read LOB data types in BizTalk Server.)
Invoking ReadLOB and UpdateLOB operations on an Oracle database table using WCF service model, see Run Operations on Tables with Large Object Types by Using the WCF Service Model.
Message structure and SOAP actions for performing ReadLOB and UpdateLOB operations, see Message Schemas for Special LOB Operations.