1.BCPの引数
bcp ユーティリティは、ユーザーが指定した形式で、データを Microsoft® SQL Server™ 2000 とデータ ファイルとの間でコピーします。
構文
bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
{in | out | queryout | format} data_file
[-m max_errors] [-f format_file] [-e err_file]
[-F first_row] [-L last_row] [-b batch_size]
[-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]
[-q] [-C code_page] [-t field_term] [-r row_term]
[-i input_file] [-o output_file] [-a packet_size]
[-S server_name[\instance_name]] [-U login_id] [-P password]
[-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]
使用法 : bcp {dbtable | query} {in | out | queryout | format} datafile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F firstrow] [-L lastrow] [-b batchsize]
[-n native type] [-c character type] [-w wide character type]
[-N keep non-text native] [-V file format version] [-q quoted identifier]
[-C code page specifier] [-t field terminator] [-r row terminator]
[-i inputfile] [-o outfile] [-a packetsize]
[-S server name] [-U username] [-P password]
[-T trusted connection] [-v version] [-R regional enable]
[-k keep null values] [-E keep identity values]
[-h "load hints"]
大切な引数の説明:
① [-S server name]
-S server_name[\instance_name]
接続先の SQL Server のインスタンスを指定します。
サーバー上の SQL Server の既定のインスタンスに接続する場合は、server_name を指定します。
サーバー上の SQL Server 2000 の名前付きインスタンスに接続する場合は、server_name\instance_name
を指定します。サーバーが指定されない場合は、ローカル コンピュータ上の SQL Server の既定の
インスタンスに接続されます。ネットワーク上のリモート コンピュータから bcp を実行するときは、このオプションが必要です。
② [-U username]
-U login_id
SQL Server への接続に使用されるログイン ID を指定します。
③ [-P password]
-P password
ログイン ID のパスワードを指定します。このオプションを指定しないと、bcp はパスワードを問い合わせます。
また、このオプションをコマンド プロンプトの最後にパスワードなしで使用すると、デフォルトのパスワード (NULL) が使用されます。
④ {in | out | queryout | format} datafile
in | out | queryout | format
一括コピーする方向を指定します。
in は、ファイルからデータベース テーブルまたはビューにコピーします。
out は、データベース テーブルまたはビューからファイルにコピーします。
queryout は、クエリからデータの一括コピーを行う場合に指定します。
format オプションは、指定したオプション (-n、-c、-w、-6、-N のいずれか) とテーブルまたはビューの区切り記号に
基づいてフォーマット ファイルを作成します。format を使用する場合、-f オプションも指定する必要があります。
注 Microsoft SQL Server 6.5 の bcp ユーティリティの場合、sql_variant 型または bigint 型のデータを含む
テーブルへの一括コピーはサポートされません。
⑤ [-c character type]
2.例
setEnv.cmdの内容:
set DBUSER=lamsec
set DBPASSWORD=lamsec
set DBSERVER=lam-test-server
入力のコマンドファイルの内容:
call setEnv.cmd
bcp tempdb..custom IN F:\bcp\CZYTAB.TXT -U%DBUSER% -P%DBPASSWORD% -S%DBSERVER% -c
出力コマンドファイルの内容:
call setEnv.cmd
bcp tempdb..custom OUT F:\bcp\CZYTAB.TXT -U%DBUSER% -P%DBPASSWORD% -S%DBSERVER% -c