将你的客户端环境的环境变量 
NLS_LANG winnt 在注册表修改 
设置成和数据库服务器的一致。 
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 
前面的AMERICAN_AMERICA是指用户界面的语言设置。 
ZHS16GBK 
是指使用的字符集。 
使用select * from nls_database_parameters查看你数据库的字符集 
NLS_CHARACTERSET ZHS16GBK

解决方案 »

  1.   

    我们要比较nls_database_parameters,中字符集,相同才可一导入。 
    否则重安装系统,并指定字符。 
    再改注册表中nl_lang为american_america.xxxxx 
    imp user/passwd full=Y file=
      

  2.   

    查一下两边的NLS_LANG. 
    在WIN2000那边找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx下的NLS_LANG改成 
    与NT4一样的。然后开一个DOS窗口,执行IMP. 
    试一试。
      

  3.   

    可以直接修改xssf_wl.dmp 的第2、3字节,
    把2、3字节的03 50修改为03 52,保存后即可再导入不过如果xssf_wl.dmp 文件>2G,保存时会很慢
      

  4.   

    原在服务器端安装的是oracle8i,在使用数据导入操作是,设置的字符集是
    set NLS_LANG=American_America.ZHS16CGB231280,可成功导入。现改为oracle9i,数据库的字符集为如下:
    SQL> select * from nls_database_parameters;PARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CHARACTERSET               ZHS16GBK
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AMPARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY              $
    NLS_COMP                       BINARY
    NLS_LENGTH_SEMANTICS           BYTE
    NLS_NCHAR_CONV_EXCP            FALSE
    NLS_NCHAR_CHARACTERSET         AL16UTF16
    NLS_RDBMS_VERSION              9.0.1.1.1ÒÑÑ¡Ôñ20ÐС£SQL> 
    请高手们再帮我看看,好吗?谢谢