我再详细说明一下我想要达到的目标和我已经做了的工作:要导入的文件情况:   数据库版本为oracle8.1.7,
   字符集为:NLS_CHARACTERSET的值为US7ASCII
             NLS_CHARACTERSET的值为US7ASCII
要导入到的数据库的环境情况如下:
   数据库版本为oracle9.0.1.0,
   字符集为: NLS_CHARACTERSET的值为ZHS16GBK
             NLS_CHARACTERSET的值为AL16UTF16目前,我已经把注册表的NLS_LANG值改为AMERICAN_AMERICA.US7ASCII;
我的oracle9.0.1.0的sys.prop$表中的
             NLS_CHARACTERSET的值为US7ASCII
             NLS_CHARACTERSET的值为US7ASCII
然后重新启动了我的电脑,导入那个由oracle8.17导出的数据库文件,但是还是乱码,我从网查到的资料也都是说这样做的,但是我试过了,对我的oracle来说不灵,还是乱码。我如何能够成功的把这个oracle8.17的数据库导出文件导入到我的oracle9.0.1.0的数据库,并且不出现乱码

解决方案 »

  1.   

    如果你的数据量不大,可以通过没有字符集的数据库中转,比如通过acess 数据库,设置客户端的字符集和源数据库的字符集相同,将源数据库的数据转入到过渡数据库,然后将客户端的字符集设置成和目标可得字符集相同,将数据转入目标数据库。
      

  2.   

    你是怎么修改的SYS表PROPS$字段NLS_CHARACTERSET值ZHS16GBK  ---> SYS表PROPS$字段NLS_CHARACTERSET值US7ASCII?
    不是单纯就把这个字段的值给改了的吧.?那样是没有作用的.注册表里的值也不起你说的作用.
    改ORACLE的字符集是很麻烦,而且,风险较大的事情。你从网上搜一下修改字符集的文档照着做.有的,我是上次就是这么做的。不过很麻烦.