cogicy 发表于 2012-12-26 16:42

sybase数据库bcp in问题

各位大虾门,求助啊。。。

公司要求做数据迁移将数据库A的表中数据都导出来,然后把它导入到数据库B中去

我用
bcp "tec.dbo.t_report" out "D:\DATA\tec\dbo.t_report.dat" -e"D:\DATA\tec\err_out\dbo.t_report_out.err" -S"name1" -U"sa" -P123 -c
正常导出不报错,
但是用
bcp "tec.dbo.t_report" in "D:\DATA\tec\dbo.t_report.dat" -e"D:\DATA\tec\err_in\dbo.t_report_in.err" -S"name2" -U"sa" -P123 -c
导入时报错(其他表都能正常导入导出,只有这张表报错),错误信息如下:

#@ Row 175160: CTLIB Message:- L5/O3/S5/N7/5/0:
ct_sendpassthru(): network packet layer: internal net library error: Net-Lib protocol driver call to write data failed @#
#@ Row 175160: Not transferred @#

#@ Row 175164: CTLIB Message:- L0/O0/S0/N0/0/0:
blk_rowxfer(): blk layer: internal BLK-Library error: No value or default value available and NULL not allowed.col = 44 @#
#@ Row 175164: Not transferred @#

我看了一下175160行之前都正常导入,到175160行时就开始报错了,而且第二个错误中提示的第44列不是空值,里面有字符"%"
总共报了11个错误,都是上面2个错误的重复

跪求指教~!希望给力回复啊!!!!

Eisen 发表于 2012-12-26 18:30

bcp "tec.dbo.t_report" out "D:\DATA\tec\dbo.t_report.dat" -e"D:\DATA\tec\err_out\dbo.t_report_out.err" -S"name1" -U"sa" -P123 -c -t$$$$$ -r@@@@@

bcp "tec.dbo.t_report" in "D:\DATA\tec\dbo.t_report.dat" -e"D:\DATA\tec\err_out\dbo.t_report_out.err" -S"name1" -U"sa" -P123 -c -t$$$$$ -r@@@@@

cogicy 发表于 2012-12-27 20:23

不行啊,按照楼上的方法导入导出还是报同样的错误,哪位大虾知道还有什么其他的方法吗???

cogicy 发表于 2012-12-27 23:43

急等高人解决啊!!!!

Eisen 发表于 2012-12-28 20:46

那就走proxy table吧。看来是有null值,这个不好通过bcp导了

njzh24 发表于 2013-01-03 16:42

有特殊字符吧,用二进制试试~-n
页: [1]
查看完整版本: sybase数据库bcp in问题