次の方法で共有


SQL アダプターを使用してSQL Serverでストアド プロシージャを実行する

SQL Serverの Transact-SQL および CLR ストアド プロシージャは、アダプター サービス アドインの使用またはアダプター サービス参照の追加プラグインの使用中に、Microsoft BizTalk Adapter for SQL Server の操作として [プロシージャ] ノードの下に表示されます。 SQL アダプターによって公開される操作名は、SQL Serverのストアド プロシージャの名前と同じです。 ストアド プロシージャ内のすべてのパラメーターは、対応する操作で公開されます。 OUT パラメーターには、ストアド プロシージャの戻り値が含まれています。 ストアド プロシージャの結果セットは DataSet の配列です。 DataSet の詳細については、「」を参照してください https://go.microsoft.com/fwlink/?LinkId=196853。 ターゲット オブジェクトのスキーマ情報は、実行時に応答メッセージの一部として取得されます。

ただし、デザイン時にターゲット オブジェクトのスキーマ情報を取得する場合は、[アダプター サービス アドインの使用] または [アダプター サービス参照プラグインの追加] の [ 厳密に型指定されたプロシージャ ] ノードの下にあるプロシージャのスキーマを生成する必要があります。 同じストアド プロシージャが [ プロシージャ ] ノードと [ 厳密に型指定されたプロシージャ ] ノードの下に表示されることに注意してください。 ストアド プロシージャの戻り値は、DataSet の配列だけでなく、厳密に型指定されます。 スキーマ情報はデザイン時に使用できるため、ストアド プロシージャのスキーマを別の操作の別のスキーマにマップするために使用できます。 たとえば、厳密に型指定されたプロシージャに対して生成されたスキーマを、データベース テーブルの Insert 操作で生成されたスキーマにマップできます。

Note

次の場合、厳密に型指定されたストアド プロシージャのデザイン時にスキーマ情報を表示することはできません。

  • 厳密に型指定されたストアド プロシージャの入力パラメーターとして、別のストアド プロシージャの戻り値であるカーソルを使用しています。
    • これは、テーブルに対していくつかの操作を実行する CLR ストアド プロシージャです。

FOR XML 句を使用したストアド プロシージャのサポート

SQL アダプターを使用すると、FOR XML 句を含む SELECT ステートメントを持つストアド プロシージャを実行することもできます。 SELECT ステートメントで FOR XML 句を使用して、結果を行セットではなく XML として返します。 FOR XML 句の詳細については、「」を参照してください https://go.microsoft.com/fwlink/?LinkId=131402

Note

BizTalk Serverで使用できる "ネイティブ" SQL アダプターでは、XML を返すストアド プロシージャ 、つまり SELECT ステートメントに FOR XML 句があるストアド プロシージャのみがサポートされます。 FOR XML 句を使用したストアド プロシージャのサポートにより、ストアド プロシージャ定義を変更することなく、WCF ベースの SQL アダプターを使用してこれらのストアド プロシージャを実行できます。

一時テーブルを使用したストアド プロシージャのサポート

SQL アダプターを使用すると、定義に一時テーブルを含むストアド プロシージャのメタデータを生成できます。 ただし、このようなストアド プロシージャの場合は、[アダプター サービス参照プラグインの追加] または [アダプター サービス アドインの使用] を使用しながら、[ プロシージャ ] ノードからのみストアド プロシージャを選択してメタデータを生成する必要があります。 アダプターでは、 厳密に型指定された プロシージャ ノードからこのようなストアド プロシージャのメタデータを生成することはできません。

名前のない列または同じ名前の列を含む結果セットのサポート

次の表は、SQL アダプターがストアド プロシージャと厳密に型指定されたストアド プロシージャの結果セット内の名前と同じ名前を持たない列を処理する方法を示しています。

結果セットには が含まれています... ストアド プロシージャ ストアド プロシージャの Strongly-Typed
名前のない列 SQL アダプターは、列の名前を次のように生成します。"-" (ハイフン) なしで一意の ID (GUID) が生成され、生成された GUID は数字で始まる可能性がありますが、XML タグ名では使用できないため、GUID 文字列の前に "C" が付けられます。 SQL アダプターでは、"UnNamedColumn[column_index]" という列の名前が生成されます。ここで、column_indexは '0' から始まります。
同じ名前の列 最初の列以外の列の名前には、"" (アンダースコア) と、"-" (ハイフン) のないランダムな GUID が追加されます。たとえば、"\[GUID]" です。 SQL アダプターは、結果セット内の同じ名前の列をサポートせず、例外をスローします。 大事な: 結果セット内の列名に一意の名前があることを確認する必要があります。

Note

一般に、ストアド プロシージャと厳密に型指定されたストアド プロシージャの結果セット内のすべての列に名前を付け、一意の名前を付ける必要があります。

詳細情報は、次のとおりです。

参照

アダプターを使用して SAP システムに接続する