微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bcp导入导出数据发生异常解决方案

用BCP导出的数据,经常会遇到遇到EOF,字符串右截断之类的错误.
这些错误信息又很模糊,很难一下子定位到底是什么错误.

我总结了一下,自己遇到的几种情况
1.表结构不同
2.bcp版本不一致,在处理某些类型的时候,导致错位(比如sql2000中没有varchar(max),只有在sql2005中才有)
3.字段类型一致,字段长度一致,但是Nullable不同,也会导入失败

快速检查出,导入导出的2个表结构,是否一致,用下面的命令
bcp {dbname.dbo.Table}  format  nul  --f aa.txt -%DBSERVER% -U%DBUSERNAME% -P%DBPWD%

返回的数据内容
9.0
10
1       sqlINT        0       4          1     ID                                 
2       sqlINT        1       4          2     User_Accounts                      
3       sqlINT        1       4          3     MoneyNum                           
4       sqlINT        1       4          4     EventID                            
5       sqlNCHAR      2       400        5     Describe                 Chinese_PRC_CI_AS
6       sqlDATETIME   1       8          6     EventDate                          
7       sqlINT        1       4          7     ServerID                           
8       sqlINT        1       4          8     ServerType                         
9       sqlNCHAR      2       400        9     Remark                   Chinese_PRC_CI_AS
10      sqlINT        0       4          10    CurrentDianQuan                    

第一行是BCP版本,导入导出的时候,最好要一致.
第二行是字段数量
第三行开始,导入导出的2台电脑上,这2个文件的所有字段信息都要一致,就能解决导入出错的各种异常了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐