关于ORACLE数据库数据导入问题,分值可浮动!只要能解决。(200分)

  • 主题发起人 主题发起人 tuorx
  • 开始时间 开始时间
T

tuorx

Unregistered / Unconfirmed
GUEST, unregistred user!
我最近做了一个基于ORACLE数据库的程序。需将以前的数据库导入新的数据库,但失败,其操作过程如下:

1、在原来数据库上做导出:
命令为:exp80 system/manager owner=用户名 file=dmp文件 log=Log文件
consistent=y statistics=compute

2、将导出的文件导入到另一个数据库:
命令为:imp80 system/manager touser=用户名 file=dmp文件 log=log文件

结果产生以下错误:

连接到:Oracle8 Enterprise Edition Release 8.0.4.0.0 - Production
PL/SQL Release 8.0.4.0.0 - Production

IMP-00016: 所要做的字符集转换( 类型 850 到 852)不被支援
IMP-00021: 操作系统错误--错误码(十进制 2 , 十六进制 0x2)
IMP-00000: 由於错误使导入中断

说明原数据库版本为:8.0.4.0.0,导入数据库为:8.0.4.0.0或8.0.5.0.0都一样错误。
请问为什么?怎么解决?
 
Change the user character set by setting the NLS_LANG environment variable to
match the character set of the export file.
 
字符集错误,你必须保证两个数据库的字符集相同。
1、检查两个数据库中的sys.props$表中类似NLS_LANG的字段,看值是否相同,如果不同
可以考虑将要导入的数据库中的值改为导出的数据库中的值
2、如果还不行,则建议不要从服务器端导入导出,改用从客户端工具中操作,但进行操作的
客户端必须是同一个,总之要保证导入和导出的字符集相同。
3、我个人总结的经验觉得,oracle的导入和导出的数据包字符集好像和操作的机器的字符集
相关,而和数据库关系不大(因此,如果你直接在数据库服务器上进行导入导出,则字符集
和服务器相同;但如果你从另外一台客户端操作,则制和客户端定义的字符集相同)
 
你看看这一贴,是楼上xianjun找的资料,若能成功的话,请将分给他,我只要点辛苦费就行了.呵呵...
http://www.delphibbs.com/delphibbs/dispq.asp?lid=618345
 
同意forest gun的第三点

to zhangkan:
呵呵,太客气了
只不过那贴子虽然结束了,但据dadabox说他还是没把问题解决。
 
接受答案了.
 
后退
顶部