参考:http://www.cnblogs.com/qanholas/archive/2011/07/05/2098616.html
bcp {dbtable | query} {in | out | queryout |
format} 数据文件
[-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 格式化文件]
开启CMDSHELL
GO SP_CONFIGURE ‘show advanced options‘,1 GO RECONFIGURE GO sp_configure ‘xp_cmdshell‘,1 GO RECONFIGURE GO
关闭CMDSHELL
GO sp_configure ‘xp_cmdshell‘,0 O RECONFIGURE GO
--整表导出 EXEC master..XP_cmdshell ‘bcp [master].[sys].[databases] out c:\1.txt -c -T‘
--使用查询导出 --如果使用查询,导出使用queryout,查询使用双引号包括起来。 EXEC master..XP_cmdshell ‘bcp "select top 3 * from master.sys.databases" queryout c:\2.txt -c -T‘
--使用BCP IN导入数据 EXEC master..XP_cmdshell ‘bcp master.dbo.TB2 in c:\2.txt -c -T‘
--使用BULK INSERT导入数据 BULK INSERT master.dbo.TB2 FROM ‘c:\2.txt‘
--使用XML格式导出 --先导出格式化文件,再导出数据文件 --使用,分隔符 EXEC master..XP_cmdshell ‘bcp [master].[sys].[databases] format nul -c -t"," -x -f "c:\dbFormat.xml" -T‘ EXEC master..XP_cmdshell ‘bcp [master].[sys].[databases] out "c:\dbData.txt" -c -t"," -T‘
--使用BCP IN+XML格式化文件导入数据 EXEC master..xp_cmdshell ‘bcp master.dbo.TB2 in "c:\dbData.txt" -f "c:\dbFormat.xml" -T‘
--使用BULK INSERT+XML格式化文件导入数据 BULK INSERT master.dbo.TB2 FROM ‘c:\dbData.txt‘ WITH (FORMATFILE = ‘c:\dbFormat.xml‘);
--使用OPENROWSET+XML格式化导入数据 INSERT INTO master.dbo.TB2 SELECT * FROM OPENROWSET(BULK ‘c:\dbData.txt‘, FORMATFILE=‘c:\dbFormat.xml‘ ) AS T ;