我导出数据库是用:
exp train/train@ora92_unipet file=c:\a.sql log=c:\a.log
导入数据库用的是:
imp testdaily/test@ora9i_yuugao file=c:\a.sql log=c:\a.log full=y为什么我有的表中的记录不能完全导入报ORA-01401: 列值超过最大值
还会报ORA-02298:这个好像跟外键有关,奇怪的是有的外键有,有的外键没有
为什么会出现有的外键丢失?
我该怎么解决这个问题啊?请大家指教一下,谢谢~

解决方案 »

  1.   

    字符集设定后就不会更改了,虽然Oracle9i支持向超级更改,但还是在建立数据库的时候考虑好,否则会很麻烦的。
    建议你先查查两个数据库的字符集,查字符集的方法是,用system用户登陆,执行下面的语句:
    select value from nls_database_parameters where parameter='NLS_CHARACTERSET';
      

  2.   

    我现在把两个数据设置的一样的,字符集也一样的,但是为什么导过来的时候,要是日文就没事,要是中文的话,就有乱麻?
    用你给我的,查的两个数据库结果都是AL32UTF8,那为什么原来的数据库的数据中文不是乱码,导过来后又变成了乱码?
    请指点一下,谢谢~
      

  3.   

    你就是你的客户端字符集的问题了,你可以检查NLS_LANG环境变量,看看是不是
    simplified zhinese_china.al32utf8或者american_america.al32utf8,客户端的字符集一定要设置正确,或者你直接从数据库服务器导出也行,但是导出前也要检查环境变量。