关于bcp out 于bcp in出错的一般原因和解决方法

[复制链接]
查看11 | 回复1 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
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即可。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
。。。。。。。。。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行