次の方法で共有


BizTalk Adapter for Oracle Database の主な機能

このセクションでは、Microsoft BizTalk Adapter for Oracle Database の新機能と非推奨の機能の一覧を示します。

機能 コメント
Oracle データベースへの新しい接続方法 (以前のバージョンのアダプターと同様に) tnsnames.ora ファイル内の net サービス名を使用して Oracle データベースに接続する以外に、アダプター クライアントは接続パラメーターを指定して Oracle データベースに直接接続できるため、ネット サービス名または tnsnames.ora ファイルを使用する必要がなくなります。 tnsnames.ora ファイルを Oracle データベースに接続する必要がない場合、環境で Oracle サーバーを追加または更新するときに、すべてのクライアント コンピューター上の tnsnames.ora ファイル内の接続パラメーター (net サービス名) を手動で更新する手間を省くことができます。 詳細については、「 Oracle データベースへの接続を作成する」を参照してください。
Windows 認証のサポート アダプター クライアントは、Windows 認証を使用して Oracle データベースに接続できます。 Windows 認証を使用すると、Windows ログオン資格情報に基づいてユーザーの ID を判断できるため、Windows 環境の組み込みのセキュリティを活用するのに役立ちます。 Oracle Database アダプターでの Windows 認証の詳細については、「 Windows 認証を使用して Oracle データベースに接続する」を参照してください。
機能 コメント
挿入操作でのインライン値の指定のサポート Insert 操作で InlineValue 属性を使用して、Oracle データベースのテーブルまたはビューに計算値を挿入できます。 これは省略可能な属性であり、複数レコード挿入操作のすべての単純なデータ レコードで使用できます。 この属性の値を指定すると、レコードの指定された値がオーバーライドされます。 InlineValue 属性の詳細については、「 Oracle テーブルとビューに対する挿入、更新、削除、および選択操作」を参照してください。
強化されたポーリング Oracle Database アダプターでは、ストアド プロシージャ、関数、またはパッケージ化されたプロシージャまたは関数を使用して Oracle データベースを定期的にポーリングすることで、"ポーリング ベース" のデータ変更メッセージの受信がサポートされるようになりました。 SELECT ステートメントに加えて、ストアド プロシージャ、関数、またはパッケージ化されたプロシージャまたは関数を、アダプターが Oracle データベースをポーリングするために定期的に実行するポーリング ステートメントとして指定できるようになりました。 ポーリングの詳細については、「 ポーリング ベースのデータ変更メッセージの受信のサポート」を参照してください。
Oracle User-Defined 型 (UDT) のサポート Oracle Database アダプターは、Oracle UDT を含む Oracle データベース内の成果物に対する操作の実行をサポートしています。 UDT のサポートの詳細については、「 Oracle Database での Oracle User-Defined の種類のサポート」を参照してください。
複合操作のサポート Oracle Database アダプターを使用すると、アダプター クライアントは Oracle データベースに対して複合操作を実行できます。 複合操作には、次の任意の数の操作を任意の順序で含めることができます。

- テーブルとビューに対する操作。
- アダプターの操作として表示されるパッケージ内のストアド プロシージャ、関数、およびプロシージャまたは関数。

複合操作の詳細については、「複合操作 のメッセージ スキーマ」を参照してください。
ユーザーが所有していないスキーマでのストアド プロシージャの実行のサポート Oracle Database アダプターを使用すると、現在のユーザーがスキーマの所有者でない場合でも、Oracle のスキーマに対するアクセス許可を持っている場合でも、スキーマでストアド プロシージャを実行できます。 ただし、ストアド プロシージャで RECORD 型を使用する場合は、ストアド プロシージャと同じスキーマで定義する必要があります。 Oracle Database アダプターを使用してストアド プロシージャを実行する方法については、「 Functions およびストアド プロシージャに対する操作」を参照してください。
データベース変更通知のサポート アダプター クライアントは、トリガーする SELECT ステートメントに基づいて、Oracle データベースからデータベース変更通知を受信できます。 通知は、SELECT ステートメントの結果セットが変更されたときに、Oracle データベースによってアダプター クライアントに送信されます。 データベース変更通知の詳細については、「データベース変更通知 の受信に関する考慮事項」を参照してください。
シノニムのサポート アダプター クライアントは、テーブル、ビュー、ストアド プロシージャ、関数、パッケージに対して作成されたシノニムに対して操作を実行できます。 シノニムの詳細、および Oracle Database アダプターを使用してシノニムに対する操作を実行する方法については、「 Oracle Database のシノニムに対する操作」を参照してください。
ブール型パラメーターと PL/SQL テーブル型のサポート アダプター クライアントは、ブール値パラメーターと PL/SQL テーブルの種類を含むストアド プロシージャと関数で操作を実行できます。

その他の機能

機能 コメント
BizTalk Serverでアダプターを使用する新しい方法 Oracle Database アダプターは、WCF-Custom ポートまたは WCF-OracleDB ポートとして BizTalk で使用できます。 WCF-Custom ポートを使用して Oracle Database アダプターを使用する場合は、WCF-Custom ポートが既定でBizTalk Server管理コンソールに追加されるため、BizTalk Server管理コンソールに WCF-Custom ポートを追加する必要はありません。 ただし、WCF-OracleDB ポートを介して Oracle Database アダプターを使用する場合は、まずBizTalk Server管理コンソールに WCF-OracleDB アダプターを追加する必要があります。 詳細については、「BizTalk Server管理コンソールへの Oracle データベース アダプターの追加」を参照してください。

Oracle アダプターの非推奨の機能

次の表に、Oracle Database アダプターの現在のバージョンで非推奨となった機能を示します。

機能 コメント
バインディングのプロパティ PollingRetryCountTransactionIsolationLevel、および LongDataTypeColumnSize バインディング プロパティは非推奨です。

メモ 受信操作のトランザクション分離レベルを設定するには、受信ポートの構成中にサービスの動作を追加して、適切な値を設定する必要があります。 トランザクション分離レベルを設定する手順については、「トランザクション分離レベル の構成」と「トランザクション タイムアウト」を参照してください。

メモする変更

全般

  • IN OUT REF CURSOR 型のパラメーターの場合

    • ストアド プロシージャ内で REF CURSOR 値に変更が加えられなかった場合、出力の値は入力 REF CURSOR の値と同じです。

    • REF CURSOR の入力データと出力データは同じ型です。

  • "nil" 属性の誤った動作: すべての単純なデータ型について、nil 属性の値を "true" に設定し、フィールドまたはパラメーターの値が存在する場合、Oracle データベース アダプターは NULL ではなく指定された値を誤って渡します。 回避策として、フィールドまたはパラメーターに NULL 値を渡す場合は、フィールドまたはパラメーターの値が指定されていないことを確認する必要があります。 たとえば、"name" というフィールドに NULL 値を渡すには、次のようにします。

    <name xsi:nil="true"/>  
    
  • Select 操作の結果セットの値の末尾にある Real、Float、Long の各データ型と、余分なゼロ (0) は切り捨てられません。 さらに、Select 操作の結果セットは、常に Real、Float、Long の各データ型に対して有効桁数 8 の値を返します。

  • RECORD 型のデータの処理: これらのノードに渡される値は、 SkipNilNodes バインディング プロパティの値によって異なります。 このバインディング プロパティの詳細については、「 Oracle Database のバインド プロパティを構成する」を参照してください。

  • 送信操作: 入力 XML ファイルで指定された値を持たないパラメーターに値は送信されません。 ストアド プロシージャで既定値が指定されている場合、Oracle データベースはその値を使用します。これは、アダプターによって値が送信されなかったためです。 NULL 値を送信する必要がある場合、ユーザーは"nil" 属性の値を "true" に設定して、入力 XML ファイルで NULL ノードを指定する必要があります。

  • コマンド タイムアウトがサポートされています。

  • UpdateLOB 操作は、トランザクションの一部として実行する必要があります。 これを確認するには、 UseAmbientTransaction バインディング プロパティの値を True に設定する必要があります。

BizTalk シナリオ

  • 送信操作: UseAmbientTransaction バインディング プロパティが "True" の場合、Oracle データベースと BizTalk MessageBox データベースに対する操作は、同じ分散トランザクション内で実行されます。 Oracle Database アダプターのトランザクションの詳細については、「Oracle Database アダプターを使用した トランザクションの処理」を参照してください。

  • 受信操作: Oracle Database アダプターを使用する受信操作に対して、BizTalk Serverで Request-Response 受信ポートを使用することはできません。 One-Way 受信ポートのみを使用できます。

その他のシナリオ

  • 送信操作: アダプターはトランザクションを開始しません。 ユーザーが同じトランザクション内に複数の行を挿入する場合は、System.Transactions トランザクション スコープ内で操作を実行する必要があります。 また、ユーザーは UseAmbientTransaction プロパティの値を True に設定する必要があります。 Oracle Database アダプターのトランザクションの詳細については、「Oracle Database アダプターを使用した トランザクションの処理」を参照してください。

  • 送信操作: 同じ IRequestChannel/proxy オブジェクトに対して実行される Sll 操作は、Oracle データベースへの同じ物理接続では実行されない場合があります。

  • WCF チャネル モデル: Oracle データベース アダプターは、WCF チャネル モデルの使用中に IReplyChannel をサポートしていません。 ただし、受信操作を実行するために IInputChannel を使用できます。 さらに、トランザクションに関しては、アダプターは WCF Dispatcher によって開始されるトランザクションに依存して、ポーリング ステートメントを実行し、Oracle データベースに対してポーリング ステートメントを投稿します。 トランザクション分離レベルと WCF ディスパッチャーによって開始されるトランザクションのタイムアウトは、ServiceBehavior で適切な値を設定することによって制御できます。

参照

Biztalk Adapter for Oracle Database について