BCP IN示例

参考: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 ;

原文地址:https://www.cnblogs.com/TeyGao/p/3518259.html