BizTalk Adapter for Oracle Database の制限事項
全般
Microsoft BizTalk Adapter for Oracle Database の既知の制限事項を次に示します。
一部の例外を除き、Oracle Database アダプターは、以前のリリースのアダプターと互換性があります。 前回のリリース以降に行われた変更の一覧については、「 BizTalk Adapter for Oracle Database の主な機能」を参照してください。
SQLEXECUTE 操作は、OUT パラメーターまたは IN OUT パラメーターの値をプロシージャ、関数、またはパッケージに返しません。 このため、Oracle Database アダプターがこれらの Oracle 成果物に対して公開する専用の操作を使用して、プロシージャ、関数、およびパッケージを呼び出す必要があります。
プロキシ プログラミングを使用して Oracle データベースからデータを取得する場合、Oracle Database アダプターは、65536 ノードを超える XML メッセージを逆シリアル化しません。 応答メッセージに 65536 以下のノードがあることを確認します。 この制限を回避するには、アプリケーションの app.config ファイルを変更します。 手順については、「 Oracle Database アダプターに関する操作上の問題のトラブルシューティング」を参照してください。
Oracle Database アダプターは、入力文字列を受け取り、アダプターによって実行される SQL コマンドを構築します。 ただし、入力文字列には、実行される他の SQL コマンドが含まれている場合があり、操作コントラクトが中断される可能性があります。
アダプターがストアド プロシージャに入力 REF CURSOR を提供するシナリオを考えてみましょう。 このようなシナリオでは、アダプター クライアントは、実行時に REF CURSOR を取得するコマンドを提供する必要があります。 その後、アダプターは REF CURSOR をストアド プロシージャに渡します。 ただし、REF CURSOR を取得するためのコマンドがデータベースに対して追加の変更を実行すると、ストアド プロシージャを実行するための操作コントラクトが壊れます。
Oracle Database アダプターは、最大 2 つのレベルの UDT 入れ子をサポートします。
BizTalk Serverでアダプターを使用する場合、WCF カスタム送信ポートの資格情報が正しくない場合、要求メッセージは処理されません。 正しい資格情報を指定すると、メッセージが Oracle データベースに送信され、応答が受信されます。 ただし、応答メッセージは出力ポートでは使用できません。 このようなシナリオでは、ホスト インスタンスの再起動が必要になる場合があります。
Oracle Database アダプターは、複合型 (RECORD 型、TABLE 型、UDT、VARRAY など) 内の BFILE データ型をサポートしていません。
Oracle Database アダプターは、循環参照を持つ User-Defined 型 (UDT) をサポートしていません。
Oracle Database アダプターは、RECORD 型の PL/SQL テーブル型のフィールドを含むレコードをサポートしていません。
Oracle Database アダプターでは、クライアントは VARRAY の最初の要素の値を NULL に設定できません。
PL/SQL テーブルを除き、Oracle Database アダプターでは、パッケージ内で定義されている UDT はサポートされません。
ODP.NET による制限事項
ODP.NET の制限により、Oracle Database アダプターの既知の制限事項を次に示します。
10 進値を受け取る Oracle データ型の場合、入力値に英字が含まれている場合、ODP.NET は例外をスローしません。 Oracle Database アダプターは ODP.NET を使用して Oracle データベースとインターフェイスするため、アダプターもアルファベット文字を渡すときに例外をスローしません。 次に例を示します。
挿入操作に値 "54r" を渡しても例外はスローされません。代わりに値 "54" が挿入されます。
挿入操作に値 "r54" を渡しても例外はスローされません。代わりに値 "0" が挿入されます。
ODP.NET 制限のため、Oracle Database アダプターでは、厳密に型指定され、弱く型指定された REF CURSORS を使用したオーバーロードされたプロシージャの使用はサポートされていません。 内部的には、アダプターは厳密に型指定された REF CURSORS と弱く型指定された REF CURSORS の両方を単なる REF CURSORS として扱います。
Oracle Database アダプターは、数値フィールドによってインデックスが作成されない PL/SQL テーブルをサポートしていません。
Oracle Database アダプターは、要素を含まない連想配列をサポートしていません。
Oracle Database アダプターでは、ローカル タイム ゾーン属性 (TimeStampLTZ) を持つ TimeStamp データ型を含む UDT はサポートされていません。
Oracle Database アダプターでは、"" を含む UDT はサポートされていません。 (ピリオド) をその名前に含める。
Oracle Database アダプターでは、BLOB、CLOB、NCLOB のデータ型を IN OUT パラメーターとして含む UDT はサポートされていません。
Oracle Database アダプターでは、BFILE、IntervalDS、IntervalYM、TimeStampLTZ、TimeStampTZ という単純な種類の Varray の Varray はサポートされていません。
連想配列の制限により、Oracle Database アダプターでは、次のいずれかのデータ型を含むレコードの PL/SQL テーブルまたは PL/SQL テーブルはサポートされていません。
BFILE
BLOB
CLOB
IntervalDS
IntervalYM
Long
NCLOB
Rowid
TimeStamp
TimeStampLTZ
TimeStampTZ