您的位置:首页 > 其它

BCP使用小结报告

2011-07-10 23:59 183 查看
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”确是有空格的,因此这个避免不了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: