用BCP导出的数据,经常会遇到遇到EOF,字符串右截断之类的
错误.
这些
错误信息又很模糊,很难一下子定位到底是什么
错误.
我总结了一下,自己遇到的几种情况
1.表结构不同
2.bcp版本不一致,在处理某些类型的时候,导致错位(比如
sql2000中没有varchar(max),只有在
sql2005中才有)
3.字段类型一致,字段长度一致,但是Nullable不同,也会导入失败
快速检查出,导入导出的2个表结构,是否一致,用下面的命令
bcp {dbname.dbo.Table} format nul -n -f aa.txt -S %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 举报,一经查实,本站将立刻删除。