次の方法で共有


ストアド プロシージャの実行 (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に設定します。

こちらもご覧ください

ストアド プロシージャ