启用 xp_cmdshell
1: sp_configure 'show advanced options',1
2: reconfigure
3: GO
4:
5: sp_configure 'xp_cmdshell',1
6: reconfigure
7: go
8:
BCP测试
1:
2: --建立文件夹
3: DECLARE @CmdLine VARCHAR(500)=' md E:\NetworkOptFtpServer'
4: PRINT @CmdLine
5: EXEC master.. xp_cmdshell @CmdLine
6:
7: --生成文件
8: SET @CmdLine = 'bcp " SELECT * FROM table " queryout “E:\NetworkOptFtpServer\test_in.csv” -w -U sa -P xxxx '
9: PRINT @CmdLine
10: EXEC master.. xp_cmdshell @CmdLine
指定编码格式
1: exec master..xp_cmdshell
2: 'bcp "SELECT * FROM tablename" queryout "C:\test.txt" -T -c -C 65001'
最后的参数 -T 表示这是信任的连接,也就是说不用输入密码了;-c 表示按字符类型输出;
-t “,” 用逗号分隔
bcp用于导入导出,导出效率比较高,适合大表导出
用法: 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 保留 Null 值] [-E 保留标识值]
[-h"加载提示"] [-x 生成 xml 格式化文件]
参数介绍:
bcp共有四个动作可以选择。
(1) 导入。
这个动作使用in命令完成,后面跟需要导入的文件名。
(2) 导出。
这个动作使用out命令完成,后面跟需要导出的文件名。
(3) 使用SQL语句导出。
这个动作使用queryout命令完成,它跟out类似,只是数据源不是表或视图名,而是SQL语句。
(4) 导出格式文件。
这个动作使用format命令完成,后而跟格式文件名。
注意:
1、如果是单独运行生成文件这一段,会报错,CmdLine的参数必须先声明
2. bcp内queryout后面的路径,需要加“ ”引起来