大容量数据复制工具。
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 要求从键盘回答提问。
参数 | 意义 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
database_name | 数据库 | ||||||||||
owner | 所有者 | ||||||||||
table_name | 表名 | ||||||||||
view_name | 视图名 | ||||||||||
"query" | 一条查询语句,配合 queryout 项目使用 | ||||||||||
in | 表示从文件复制到数据库 | ||||||||||
out | 表示从数据库复制到文件 | ||||||||||
queryout | 表示把查询结果复制到文件 | ||||||||||
format | 表示将创建一个格式文件,配合 -f 使用 | ||||||||||
data_file | 导入或导出数据的文件名 | ||||||||||
-m max_errors | 允许产生的最大错误数 | ||||||||||
-f format_file | 指定格式文件位置 | ||||||||||
-e err_file | 错误文件名,存储无法传输的数据 | ||||||||||
-F first_row | 指定复制开始行号,默认为 1 | ||||||||||
-L last_row | 指定复制最后行号,默认为 0 | ||||||||||
-b batch_size | 指定所复制的每批数据中的行数 | ||||||||||
-n | 使用数据的本机(数据库)数据类型执行大容量复制操作 | ||||||||||
-c | 使用字符数据类型执行大容量复制操作 | ||||||||||
-w | 使用 Unicode 字符执行大容量复制操作 | ||||||||||
-N | 对非字符数据使用数据的本机(数据库)数据类型和对字符数据使用 Unicode 字符类型执行大容量复制操作 | ||||||||||
-V (60 | 65 | 70) | 使用早期版本的数据类型执行大容量复制操作 | ||||||||||
-6 | 使用早期版本 6 / 6.5,建议使用 -V | ||||||||||
-C code_page | 指定每一列一个排序规则名
|
||||||||||
-t field_term | 指定字段终止符,默认为制表符 | ||||||||||
-r row_term | 指定行终止符,默认为换行 | ||||||||||
-i input_file | 响应文件的名称,包含对每一字段提示问题的响应 | ||||||||||
-o output_file | 指定接收 bcp 输出(从命令提示重定向)的文件的名称 | ||||||||||
-a packet_size | 指定发送到和发送自服务器的每个网络数据包的字节数。
4096-65536,默认为 2096 |
||||||||||
-S server_name[\instance_name] | 指定要连接到的 SQL Server 实例 | ||||||||||
-U login_id | 指定用于连接到 SQL Server 的登录 ID | ||||||||||
-P password | 指定登录 ID 的密码。 | ||||||||||
-T | 指定 bcp 使用网络用户的安全凭据 | ||||||||||
-v | 报告 bcp 实用工具的版本号和版权 | ||||||||||
-R | 指定使用为客户端计算机的区域设置定义的区域格式,将货币、日期和时间数据大容量复制到 SQL Server 中 | ||||||||||
-k | 指定在大容量复制操作中空列应保留一个空值,而不是对插入的列赋予默认值。 | ||||||||||
-E | 指定标识列的值出现在要导入的文件中。如果没有给出 -E,则正导入的数据文件中此列的标识值将被忽略, | ||||||||||
-h "hint[,...]" | 指定在大容量复制数据到表或视图时所使用的提示。 |
下面的命令分别从 临时表、表、查询语句 中获得数据输出到文件。
bcp ##temp_authors out temp_authors.txt -c -Sservername -Usa -Ppassword |
bcp pubs..titleview out titleview.txt -c -Sservername -Usa -Ppassword |
bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword |