- 论坛徽章:
- 0
|
bcp 不能导出的原因一般是:
1,导出文件过大,超过操作系统对文件生成大小的最大限制(比如1G、2G)
2,原始表有损坏,
对于第一个原因,可以找操作系统工程师去掉这个限制
对于第二个原因,必须要表修复之后(可以察看错误日志,来确定是什么样的错误,以相应的方法进行修复),才可以使用,而且对于第二原因即使是使用DUMP/LOAD方式来移数据的话,在新的数据库里面也会出现问题。一定要注意这个问题。
对于bcp不能导入全部数据的一般原因:
1,原始表的结构里面有text,image字段,
2,client/server字符集不一致,可能某些字符(特别是有中文的)不能导入。
对于第一个原因,可以使用格式文件定义来导出数据。
对于第二个原因,可以修改client的字符集。在使用bcp的主机的sybase安装目录下找到locales.dat文件(该文件存放在$SYBASE/locales目录下)将环境变量里面所设定的语言哪项对应的字符集修改成与server端字符集一样即可。
例如:
server端字符集为iso_1
echo $LANG的结果为C
操作系统为hp
那么就修改locales.dat,原始的locales.dat文件如下行:
[hp ux]
......
......
locale = C, us_english, roman8
.......
.......
将上面的roman8修改为iso_1即可。
_________________ |
|