顾乔芝士网

持续更新的前后端开发技术栈

后端技术:BCP使用笔记整理_bcp程序管理

一、什么是BCP ?

大容量复制程序实用工具 (bcp) 可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据。 使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导出到数据文件。 除非与 queryout 选项一起使用,否则使用该实用工具不需要了解 Transact-SQL知识。

若要将数据导入表中,必须使用为该表创建的格式文件,或者必须了解表的结构以及对于该表中的列有效的数据类型。

1、用法

用法: 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 格式化文件]

2、BCP导出语句 cmd命令直接执行

-t 自定义分隔符 -d 数据库名称 -S 服务器地址 -U 用户名 -P 密码

BCP "select * from T_user" queryout d:\T_user.txt -c -d"DB" -S"127.0.0.1" -U"sa" -P"sa" -t "$"


3、BCP导入语句


BCP T_user in d:\T_user.txt -c -d"DB" -S"127.0.0.1" -U"sa" -P"sa" -t "$"

3、SQL Server中中执行


默认SQL Server 阻止了对组件“xp_cmdshell”的 过程“sys.xp_cmdshell”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用“xp_cmdshell”。有关启用“xp_cmdshell”的详细信息,请搜索 SQL Server 联机丛书中的“xp_cmdshell”。

a.启用xp_cmdshell:

-- 允许配置高级选项

EXEC master.sys.sp_configure 'show advanced options', 1

-- 重新配置

RECONFIGURE

-- 启用xp_cmdshell

EXEC master.sys.sp_configure 'xp_cmdshell', 1

--重新配置

RECONFIGURE

b. 关闭xp_cmdshell:

-- 允许配置高级选项

EXEC master.sys.sp_configure 'show advanced options', 1

-- 重新配置

RECONFIGURE

-- 禁用xp_cmdshell

EXEC master.sys.sp_configure 'xp_cmdshell', 0

--重新配置

RECONFIGURE

c 执行sql语句

EXEC master..xp_cmdshell 'BCP "select * from T_user" queryout d:\T_user.txt -c -d"DB" -S"127.0.0.1" -U"sa" -P"sa" -t "$" '

EXEC master..xp_cmdshell 'BCP T_user in d:\T_user.txt -c -d"DB" -S"127.0.0.1" -U"sa" -P"sa" -t "$" '

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言