Bcpを使用したコマンドラインからのSQL Serverデータのインポートとエクスポート

Bcpは、データをデータベースに取り込む最も速い方法です

Microsoft SQL Serverのバルク・コピー(bcp)コマンドは、コマンド行から大量のレコードを直接挿入する機能を提供します。 bcpユーティリティは、コマンドラインからの愛好家にとって有用なツールであるだけでなく、バ​​ッチファイルやその他のプログラム的な方法からSQL Serverデータベースにデータを挿入しようとする人にとっては強力なツールです。 データをデータベースに取り込む方法はたくさんありますが、bcpは適切なパラメータで設定すると最も高速です。

bcp構文

bcpを使用するための基本的な構文は次のとおりです。

bcp

引数には次の値が入ります。

bcpのインポートの例

すべてをまとめるには、 インベントリデータベースにフルーツテーブルがあり、ハードドライブに保存されているテキストファイルからすべてのレコードをそのデータベースにインポートするとします。 次のbcpコマンド構文を使用します。

bcp inventory.dbo.fruits in "C:\ fruit \ inventory.txt" -c -T

これにより、次の出力が生成されます。

C:¥> bcp inventory.dbo.fruits in "C:¥fruit¥inventory.txt" -c -Tコピーを開始... 36行がコピーされました。 ネットワークパケットサイズ(バイト):4096クロック時間(ミリ秒)合計:16平均:(2250.00行/秒)C:\>

そのコマンドラインには2つの新しいオプションがあります。 -cオプションは、インポート・ファイルのファイル形式がタブ区切りのテキストで、各行が改行されることを指定します。 -Tオプションは、bcpがWindows認証を使用してデータベースに接続する必要があることを指定します。

bcpエクスポートの例

操作の方向を "in"から "out"に変更することにより、bcpを使用してデータベースからデータをエクスポートできます。たとえば、次のコマンドを使用してフルーツテーブルの内容をテキストファイルにダンプできます。

bcp inventory.dbo.fruits out "C:\ fruit \ inventory.txt" -c -T

コマンドラインでの表示方法は次のとおりです。

C:¥> bcp inventory.dbo.fruits out "C:¥fruit¥inventory.txt" -c -Tコピーを開始... 42行がコピーされました。 ネットワークパケットサイズ(バイト):4096クロック時間(ミリ秒)合計:1平均:(42000.00行/秒)C:\>

それはbcpコマンドのすべてです。 バッチファイルまたはDOSコマンドラインにアクセスできる他のプログラムからこのコマンドを使用して、SQL Serverデータベースからのデータのインポートおよびエクスポートを自動化できます。