次の方法で共有


ストアド プロシージャの実行 (OLE DB)

ステートメントの実行時、データ ソースに対して (クライアント アプリケーション内でステートメントを直接実行または準備せずに) ストアド プロシージャを呼び出すと、次のような利点があります。

  • パフォーマンスの向上

  • ネットワーク オーバーヘッドの軽減

  • 一貫性の向上

  • 正確性の向上

  • 機能の追加

SQL Server Native Client OLE DB プロバイダーでは、SQL Server ストアド プロシージャがデータを返す場合に使用する、次の 3 つのメカニズムがサポートされます。

  • プロシージャ内のすべての SELECT ステートメントで結果セットを生成する。

  • プロシージャが出力パラメーターによってデータを返すことができる。

  • プロシージャに整数のリターン コードを含めることができる。

アプリケーションでは、ストアド プロシージャからのこれらすべての出力を処理できる必要があります。

結果の処理中には、さまざまな OLE DB プロバイダーからさまざまなタイミングで出力パラメーターと戻り値が返されます。 SQL Server Native Client OLE DB プロバイダーの場合、出力パラメーターとリターン コードは、コンシューマーがストアド プロシージャから返された結果セットを取得または取り消すまで提供されません。 これらのリターン コードと出力パラメーターは、サーバーからの最後の TDS パケットで返されます。

プロバイダーでは、DBPROP_OUTPUTPARAMETERAVAILABILITY プロパティを使用して、出力パラメーターと戻り値を返すタイミングを報告します。 このプロパティは、DBPROPSET_DATASOURCEINFO プロパティ セットに含まれています。

SQL Server Native Client OLE DB プロバイダーは、DBPROP_OUTPUTPARAMETERAVAILABILITY プロパティを DBPROPVAL_OA_ATROWRELEASE に設定することにより、結果セットが処理または解放されるまでリターン コードと出力パラメーターが返されないことを示します。

関連項目

その他の技術情報

ストアド プロシージャ