BCP使用笔记整理

640?wx_fmt=jpeg


一、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 "$$" '



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT技术分享社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值