BCP使用小结报告

2 篇文章 0 订阅
2 篇文章 0 订阅

BCP是Mircrosoft提供的强大的批量数据处理的工具,最近小小研究了一下,问题多多,感慨多多!

1 运行BCP一定需要装SQL Server吗?

BCP终究是需要跟SQL Server交互,因为无论取数据还是读数据,最终都归结到SQL Server,但是如果把本机作为一个客户端,远程向SQL Server服务器读写数据的话,那么本机是不需要装SQL的。

2.运行BCP需要什么条件?

BCP.EXE/BCP.RLL,装有SQL Native Clinet这个数据源驱动

3 运行BCP提示数据格式转换错误,比如Data Casting Error的原因?

这说明你的文本存储的格式的确有错误!对于数据格式,BCP的要求很高,其中有三点:

1).对于数据库中的每个字段在BCP中都需要都对应的地方,字段之间用\t隔开,字段为空无所谓,但是因为有考虑到这个字段,因此会出现两个\t

2).对于数据库中只有的一位(数据类型为bit)的情况,在数据库中会被限制为3种类型的数据:0,1,空这三种情况,但是Delphi中的Boolean常量用BoolToStr(ABool: Boolean; BooleanFlag: Boolean = False)转换之后,True被转换为-1,False被转换成0,因此,这种情况下-1出现在文本文件中就会导致数据类型转换失败,而导致BCP命令的失败。

3).使用BCP命令上传文本,默认的要求是文本的内容后面需要有一个空行,这或许是对应着SQL Server表格中新的但是尚未输入的一行

4.BCP命令就是运行不了,原因何在?

BCP用命令行的方式使用的时候一定要注意一个陷阱: 命令行一般是通过空格解析,但是如果文本路径中有空格的话,就会出现命令无法执行的情况,解决的办法是通过将该路径用双引号括起来,这样系统就可以正确的解析.一般的话,自己新建文件夹命名可以避免这个情况,但是,每个人的系统文件夹“C:\Program Files”确是有空格的,因此这个避免不了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值