次の方法で共有


SELECT 結果セットを一括コピーする方法 (ODBC)

完全なサンプル コードには、一括コピー関数を使用して SELECT ステートメントの結果セットを一括コピーする方法が示されています。完全なサンプル コードは、BulkCopySelectResult.cpp ファイルにあります。このサンプル コードは、MSDN の SQL Server ダウンロード ページからダウンロードできます。このサンプルは、Microsoft Visual C++ 2005 を使用して、ODBC 3.0 以降用に開発されています。

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

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

SELECT ステートメントの結果セットを一括コピーするには

  1. 環境ハンドルと接続ハンドルを割り当てます。

  2. SQL_COPT_SS_BCP と SQL_BCP_ON を設定して、一括コピー操作を有効にします。

  3. SQL Server に接続します。

  4. bcp_init を呼び出して、次の情報を設定します。

    • szTable パラメータには、NULL を指定します。

    • 結果セット データを受信するデータ ファイルの名前。

    • 一括コピー エラー メッセージを受け取るデータ ファイルの名前 (メッセージ ファイルを使用しない場合は NULL を指定します)。

    • コピーの方向 (DB_OUT)。

  5. bcp_control を呼び出し、eOption を BCPHINTS に設定し、SELECT ステートメントを含む SQLTCHAR 配列へのポインタを iValue に置きます。

  6. bcp_exec を呼び出して一括コピー操作を実行します。

これらの手順を使用すると、ファイルはネイティブ形式で作成されます。bcp_colfmt を使用すると、データ値を他のデータ型に変換できます。詳細については、「一括コピー フォーマット ファイルを作成する方法 (ODBC)」を参照してください。