次の方法で共有


リターン コードと出力パラメータを処理する方法 (ODBC)

SQL Server のストアド プロシージャでは、整数のリターン コードと出力パラメータを使用できます。これらのリターン コードと出力パラメータはサーバーからの最後のパケットで送信されるため、SQLMoreResults によって SQL_NO_DATA が返されるまでアプリケーションでは使用できません。ストアド プロシージャからエラーが返された場合は、SQL_NO_DATA が返されるまで、SQLMoreResults を呼び出して次の結果に進みます。

リターン コードと出力パラメータの処理方法を示したサンプル コードは、ProcessReturnCodes.cpp ファイルにあります。このファイルは、MSDN の SQL Server ダウンロード ページからダウンロードできます。このサンプルは、Microsoft Visual C++ 2005 を使用して、ODBC 3.0 以降用に開発されています。

セキュリティに関する注意セキュリティに関する注意

可能な場合は、Windows 認証を使用します。Windows 認証が使用できない場合は、実行時に資格情報を入力するようユーザーに求めます。資格情報をファイルに保存するのは避けてください。資格情報を保存する必要がある場合は、Win32 Crypto API を使用して暗号化してください。

リターン コードと出力パラメータを処理するには

  1. ODBC CALL エスケープ シーケンスを使用する SQL ステートメントを作成します。このステートメントでは、各入力、入出力、出力パラメータ、およびプロシージャの戻り値 (存在する場合) に対してパラメータ マーカーを使用する必要があります。

  2. 入力パラメータ、入出力パラメータ、出力パラメータ、およびプロシージャの戻り値 (存在する場合) それぞれに対して SQLBindParameter を呼び出します。

  3. SQLExecDirect を使用してステートメントを実行します。

  4. 最後の結果セットの処理中に SQLFetch または SQLFetchScroll によって SQL_NO_DATA が返されるまで、あるいは SQLMoreResults によって SQL_NO_DATA が返されるまで、結果セットを処理します。この時点で、リターン コードと出力パラメータにバインドされた変数に、返されたデータ値が格納されています。