1:bcp简介
bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据。使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导入数据文件。除非与 queryout 选项一起使用,否则使用该实用工具不需要了解 Transact-SQL 知识。若要将数据导入表中,必须使用为该表创建的格式文件,或者必须了解表的结构以及对于该表中的列有效的数据类型。
2:bcp语法
bcp {[[database_name.][schema].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file [-m max_errors] [-f format_file] [-x] [-e err_file] [-F first_row] [-L last_row] [-b batch_size] [-n] [-c] [-N] [-w] [-V (70 | 80 | 90 )] [-q] [-C { ACP | OEM | RAW | 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]"]
语法我看着太乱!不想看,贴上是为了万一以后想看呢!
[-m 最大错误数] [-f 格式化文件] [-e 错误文件]
[-F 首行] [-L 末行] [-b 批大小]
[-n 本机类型] [-c 字符类型] [-w 宽字符类型]
[-N 将非文本保持为本机类型] [-V 文件格式版本] [-q 带引号的标识符]
[-C 代码页说明符] [-t 字段终止符] [-r 行终止符]
[-i 输入文件] [-o 输出文件] [-a 数据包大小]
[-S 服务器名称] [-U 用户名] [-P 密码]
[-T 可信连接] [-v 版本] [-R 允许使用区域设置]
[-k 保留空值] [-E 保留标识值]
[-h"加载提示"] [-x 生成xml 格式化文件]
3:用法(进入正题----bcp语法那一大坨东西!看不懂就算了,把参数的意义看几眼。)下面详细介绍导出(out关键字),导入(in关键字),条件到出(queryout关键字)
注意bcp只能在命令提示符(以管理员身份)中运行
默认以管理员身份运行的方法设置:
1)-把数据库的一个表以字符类型导出来,使用 Windows 身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有可信连接。
bcp AdventureWorks.Sales.Currency out Currency.dat -T -c
2)-把数据库的一个表以字符类型导出来,使用 SQL server 身份验证.-U -P 看清啦 都是大写。用来指定用户名密码。
bcp drp..tbl_part out d:\aaaaaa.txt -t -c -U zhifeiya -P zfy092502078
3)将文件中的数据复制到表中
条件:数据库需要有对应的表
(1)在数据库建立表
SELECT * INTO drp.dbo.tbl_part1 FROM drp.dbo.tbl_part WHERE 1=2
(2)在在命令提示符处输入命令
bcp drp.dbo.tbl_part1 in d:\aaaaaa.txt -T -c
4)将特定的列复制到文件中 使用queryout关键字,如字面意思,“查询导出”
bcp “select part_code from drp.dbo.tbl_part” queryout D:\queryout.xls -t -c -P zfy092502078 -U zhifieya
最后再说一点,sql2008不支持在查询分析器里运行bcp命令 需要以“管理员权限”打开命令提示符窗口 ,在里面输入bcp xxxxx 命令字符串:eg