打印本文 打印本文 关闭窗口 关闭窗口
请教!bcp in的两个问题!
作者:武汉SEO闵涛  文章来源:敏韬网  点击数806  更新时间:2009/4/22 23:09:44  文章录入:mintao  责任编辑:mintao

第一个:当一个表大于2G的时候bcp in出现不能打开文件的错!但bcp out没有问题!在AIX下对于2G文件的限制我已经打开!是不是和bcp版本有问题!
我用的是sybase12!已经升级到最新了!
Adaptive Server Enterprise/12.0.0.7/P/EBF 10874 ROLLUP/RS6000/AIX 4.3.2/1999/64bit/FBO/Wed Feb 26 05:56:23 2003

而且据我观察升级并没有升级/sybaseOCS-12_0/bin下的bcp

第二个:当表里有identity型的时候!bcp就出现error没有任何其他提示!
但是从sybase12->sybase11.9没有问题!
sybase12->sybase12就报错!郁闷阿!

请教各位!

 jazy 回复于:2003-04-03 09:42:55 1、我觉得既然你能bcp out 出去,那么就不存在说是大文件的问题,而你现在能bcp out 但不能bcp in ,能不能把错误信息贴出来,另外你检查一下对文件的读写权限有没有问题

2、对于identity列,在bcp in的时候据说要使用 BCP -E  (for identity insert).你可以试试看,另外你说的ase12.0->ase 11.9可以,我也觉得很奇怪,这到是一个有趣的现象。

 lljj 回复于:2003-04-03 10:13:29 1:权限没有问题!因为我在bcp很多表就他不行!
Unable to open input file D.dat'.
2,原来的错误提示:
Starting copy...
bcp copy in failed
加了-E我试一试!

 lljj 回复于:2003-04-03 10:40:15 加了-E但是出现了其他错!但起码开始bcp了!
Server Message:  - Msg 2601, Level 14, State 3:
Attempt to insert duplicate key row in object 'XX' with unique index 'XX_index'
bcp copy in failed
说我有重复的的关键字!但是应该不会啊!在sybase11.9没有提示!
是不是还要加个什么东西?

 lljj 回复于:2003-04-03 10:44:12 还有请教!怎么只对一列作bcp in阿!我还是对整个表作的bcp in
会不会对其他类型的字段用-E反而有影响?

 Blackrose 回复于:2003-04-03 12:20:30 1. bcp是基于表的,没有办法只对某列,只能bcp后,再使用select into了
2. -E 不会对其他 有什么影响。

 lljj 回复于:2003-04-03 12:25:01 那请教Blackrose!bcp是不是对2G以上的表有什么限制阿?

 Blackrose 回复于:2003-04-03 12:48:54 我记得 1192 前好像是有限制
不过你是使用的12,而且可以bcp out,bcp in如果有问题,应该不是bcp的限制问题。

 lljj 回复于:2003-04-03 14:35:41 [quote:5995f88d08="Blackrose"]我记得 1192 前好像是有限制
不过你是使用的12,而且可以bcp out,bcp in如果有问题,应该不是bcp的限制问题。[/quote:5995f88d08]
唉!怎么会这样呢?权限都改成777了!唉!

 Blackrose 回复于:2003-04-03 16:18:35 不明白 你试过几次?其它的表呢?也这样吗?

 丁一 回复于:2003-04-03 17:39:55 如果怀疑是因为文件大小的问题,可以用split命令将文件分割成小于2g的文件,再作bcp in。

 jazy 回复于:2003-04-03 18:53:55 同意丁一的建议,你可以将文件分解看看!

 zhhui2000 回复于:2003-04-03 18:54:01 Process to bcp in files > 2GB is:

mkfifo bcppipe; #create a pipe

cat bcp.in > bcppipe &; # cat file to a pipe

bcp dbname..tablename in bcppipe -Uusername -Ppassword -c; #run bcp

 lljj 回复于:2003-04-04 08:33:59 我已经试过了!分隔开的方法!可行!
还有一种zhhui2000  的方法也可行!但是在shell里要改进否则cat没有bcp快!可能是可存储有关!

最简单的办法!就是把bcp版本升级就行了!
我的是这个版本没有问题!我是找别人要的!不知道哪里有下载?
Sybase CTBCP Utility/11.1.1/P-EBF8378/rs6000/AIX 4.1.4 Native Threads/1/OPT/Thu Mar 25 12:40:49 1999

 Blackrose 回复于:2003-04-05 00:15:56 好像没有 SDK 12 (即客户端)的下载
你只能再找人要了

http://www.sybase.com/detail?id=1011375

 

打印本文 打印本文 关闭窗口 关闭窗口