您的位置:首页 > 数据库

sql 使用bcp进行导入导出数据

2013-05-15 22:11 761 查看
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只能在命令提示符(以管理员身份)中运行

默认以管理员身份运行的方法设置:

右击命令提示符-------->选择属性-------->再选择高级------------->在选择以管理员身份运行打上对勾,再单击确定即可!
以后只要打开开始菜单单击上面的快捷方式就可以以管理员的身份运行cmd了!

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: