フォーマット ファイルを使用せずに一括コピーする方法 (ODBC)
新規 : 2006 年 4 月 14 日
完全なサンプル コードには、一括コピー関数を使用してネイティブ モード データ ファイルを作成する方法が示されています。完全なサンプル コードは、BulkCopyNativeMode.cpp ファイルにあります。このファイルは、MSDN の SQL Server ダウンロード ページからダウンロードできます。このサンプルは、Microsoft Visual C++ 2005 を使用して、ODBC 3.0 以降用に開発されています。
セキュリティ メモ : |
---|
可能な場合は、Windows 認証を使用します。Windows 認証が使用できない場合は、実行時に資格情報を入力するようユーザーに求めます。資格情報をファイルに保存するのは避けてください。資格情報を保存する必要がある場合は、Win32 Crypto API を使用して暗号化してください。 |
フォーマット ファイルを使用せずに一括コピーするには
環境ハンドルと接続ハンドルを割り当てます。
SQL_COPT_SS_BCP と SQL_BCP_ON を設定して、一括コピー操作を有効にします。
SQL Server に接続します。
bcp_init を呼び出して、次の情報を設定します。
- 一括コピー操作の対象になるテーブルまたはビューの名前
- データベースにコピーするデータが含まれたデータ ファイルの名前、または、データベースからのコピー時にデータを受け取るデータ ファイルの名前
- 一括コピー エラー メッセージを受け取るデータ ファイルの名前 (メッセージ ファイルを使用しない場合は NULL を指定します)
- コピーの方向 (ファイルからビューまたはテーブルへのコピーの場合は DB_IN、テーブルまたはビューからファイルへのコピーの場合は DB_OUT)
bcp_exec を呼び出して一括コピー操作を実行します。
これらの手順で DB_OUT を設定すると、ファイルはネイティブ形式で作成されます。その後、同様の手順を使用して、このファイルをサーバーに一括コピーできます。ただし、DB_IN ではなく DB_OUT を設定します。この操作は、コピー元のテーブルとコピー先のテーブルの構造が厳密に同じ場合にのみ機能します。
参照
その他の技術情報
SQL Server ODBC ドライバを使用して一括コピーする方法 (ODBC)