Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92387234
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-04 23:51:54


   来源:赛迪网技术社区    作者:曹飞

Oracle 9i中提供强大的迁移功能,可以从多种数据库向Oracle迁移数据。Oracle新发行的迁移工具提供了从Access 2000向Oracle 92010迁移的简便易行的解决方案,该方案克服了中文乱码问题和字符串被截断的问题,如下就是从Access 2000向Oracle 92010迁移的全过程。

一、下载最新版本的OMWB(Oracle Migration Workbench)

并安装到下载Oracle Migration Workbench Release 9.2.0.1.2 for MicrosoftWindows98/NT/2000/XP 和 从Access 2.0, 95, 97 or 2000 to 到Oracle平台迁移的插件,二者的最新版本都是92012。首先把OMWB安装到与Oracle不同的主目录中,然后安装Access插件到同一目 录。

二、为迁移准备数据源

到OMWB主目录的\Omwb\msaccess_exporter目录下,打开 omwb2000.mde文件,输入将要迁移的Access数据库文件和即将生成的针对数据库的XML描述文件,这时你回发现在与Access相同的路径 下生成了一个同名的XML文件,打开这个文件,其中记录了Access数据库的表的列和关系、视图的定义。OMWB支持Access的中文表名和列名,但 要注意在生成XML文件之前要先修改\Omwb\msAccess_exporter\schema.dtd文件,将首行的encoding=“ISO- 8859-1”修改为encoding=“GBK”,然后在通过打开omwb2000.mde文件为数据库生成XML文件,这时表名和列名就成功显示中文 了,在迁移到Oracle之前,还要用同样方法修改生成的XML文件的编码为encoding=“GBK”。

三、运行OMWB执行迁移过程

运行OMWB,根据提示,输入Access数据库的描述文件,即上一步生成的XML 文件,根据该文件为迁移生成数据源,该数据源包括表、索引、主键、关系和表验证规则。接下来生成Oracle模型,OMWB自动生成表空间和两个用户。数 据源和目标数据模型都存储在Oracle的资料档案库里,该库由安装OMWB工具时系统提示生成。下一步就可以执行迁移过程了,还可以为迁移生成脚本程 序。

四、解决中文字符被截断的问题

OMWB提供由数据源和目的的数据类型影射,修改该数据影射可以改变迁移目标的数据 长度和类型,但我尝试多次也没能解决这个问题,包括在OMWB读取XML文件生成的Access模型中修改源数据类型也无济于事。问题在于Access本 身。首先打开Access数据库,修改其数据表中的数据类型和长度,保存数据库后退出,再次为数据库生成XML描述,这时我们会发现XML文件的表列定义 改变了,重新运行OMWB,为迁移生成源数据模型后,源模型和目标模型的数据类型和长度也自动改变了,之后的迁移过程即可正确迁移长中文字符串了。 Oracle提供的企业管理器和应用服务器的web形式界面里存在几处相同的问题,修改资料档案库根本不能解决问题,这也算是Oracle数据库产品的图 形界面工具的缺陷。

阅读(324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~