Oracle Database の LOB データを含むテーブルとビューに対する操作
Microsoft BizTalk Adapter for Oracle Database では、Oracle ラージ オブジェクト (LOB) データ型がサポートされています。
バイナリ ラージ オブジェクト (BLOB)
Character ラージ オブジェクト (CLOB)
National Character Large Object (NCLOB)
バイナリ ファイル (BFILE)。 詳細については、「 BFILE データ型を含むテーブルに対する操作」を参照してください。
Oracle データベースでは、LOB データ型を使用して大量のデータ (最大 4 GB) を格納します。 LOB 型は、入力ストリーミングと出力ストリーミングの両方をサポートします。
Microsoft BizTalk Adapter for Oracle Database では、LOB 列を含むテーブルとビューに対して次の操作が表示されます。
ReadLOB。 READLOB 操作は、BLOB、CLOB、NCLOB、および BFILE 列を含むテーブルとビューに対して表示されます。 ReadLOB 操作を使用すると、アダプター クライアントは LOB 列の値をデータ ストリームとして読み取ることができます。 この操作は、LOB データ型の列名とフィルター文字列をパラメーターとして受け取ります。 アダプター クライアントは、フィルター文字列が一致する行を 1 つだけフェッチするようにする必要があります。 一致する行が複数ある場合、Oracle Database アダプターは最初の (一致する) 行の LOB 列のみを返します。
Note
ReadLOB 操作は、WCF サービス モデルでの LOB データの入力ストリーミングをサポートするように設計されています。 テーブル Select 操作を使用して、WCF チャネル モデルまたはBizTalk Server ソリューションから LOB データを読み取る必要があります。 ストリーミングの詳細については、「 Oracle Database での LOB データ型のストリーミング サポート」を参照してください。
UpdateLOB。 UPDATELOB 操作は、BLOB、CLOB、および NCLOB 列を含むテーブルとビューに対して表示されます。 UpdateLOB 操作を使用すると、アダプター クライアントは LOB 列の値を更新できます。 この操作は、LOB データ型の列名、フィルター文字列、base64binary でエンコードされたデータをパラメーターとして受け取ります。 アダプター クライアントは、フィルター文字列が一致する行を 1 つだけフェッチするようにする必要があります。それ以外の場合、Oracle Database アダプターは XmlReaderParsingException をスローします。
Note
UpdateLOB 操作:
- BFILE データ型ではサポートされていません。 アダプター クライアントは、Update 操作を使用することもできます。 詳細については、「 BFILE データ型を含むテーブルに対する操作」を参照してください。
- トランザクションの一部として実行する必要があります。 これを確認するには、 UseAmbientTransaction バインド プロパティを True に設定する必要があります。 UseAmbientTransaction バインド プロパティの詳細については、「Oracle Database のバインド プロパティを構成する」を参照してください。
- BFILE データ型ではサポートされていません。 アダプター クライアントは、Update 操作を使用することもできます。 詳細については、「 BFILE データ型を含むテーブルに対する操作」を参照してください。
Note
ReadLOB と UpdateLOB は、1 つのテーブル行の 1 つの LOB 列に対して動作します。 複数の行の LOB 列、または 1 つの行内の複数の LOB 列で操作するには、各ターゲット行内のターゲット列ごとに ReadLOB または UpdateLOB を呼び出す必要があります。
詳細情報は、次のとおりです。
BizTalk Server を使用して Oracle データベース テーブルに対する UpdateLOB 操作を呼び出す方法については、「BizTalk Serverを使用した大きなオブジェクト型データを含むテーブルに対する操作の実行」を参照してください。 (テーブルの選択操作を使用して、BizTalk Serverの LOB データ型を読み取る必要があります)。
WCF サービス モデルを使用して Oracle データベース テーブルに対する ReadLOB および UpdateLOB 操作を呼び出す方法については、「 WCF サービス モデルを使用してラージ オブジェクト型のテーブルに対する操作を実行する」を参照してください。
ReadLOB および UpdateLOB 操作を実行するためのメッセージ構造と SOAP アクションについては、「 特殊な LOB 操作のメッセージ スキーマ」を参照してください。