Access2000迁移到Oracle9i要点
来源:asp之家 发布时间:2010-07-27 13:10:00
Oracle9i中提供强大的迁移功能,可以从多种数据库向Oracle迁移数据。Oracle新发行的迁移工具提供了从Access2000向Oracle92010迁移的简便易行的解决方案,该方案克服了中文乱码问题和字符串被截断的问题,如下就是从Access2000向Oracle92010迁移的全过程。
一、到OTN下载最新版本的OMWB(Oracle Migration Workbench)并安装到http://otn.Oracle.com/tech/migration/focusareas/Access.html 下载Oracle Migration Workbench Release 9.2.0.1.2 for Microsoft Windows 98/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数据库产品的图形界面工具的缺陷


猜你喜欢
- 作用:主要记录信息,便于定位查看问题。python logging模块官网:https://docs.python.org/zh-cn/3.
- 实现效果:input未输入值,按钮禁用jquery操作代码:html<input type="text" name
- 一、conn.asp<% '@Language="VBSCRIPT" CO
- pandas处理大数据的限制现在的数据科学比赛提供的数据量越来越大,动不动几十个G,甚至上百G,这就要考验机器性能和数据处理能力。Pytho
- 1、引言小丝:鱼哥, 请教你个问题。小鱼:你觉得你得问题,是正儿八经的吗?小丝:那必须的, 人都正经,何况问题呢?小鱼:那可不敢说, 你得问
- 一、需求描述文本溢出省略,说实话这些年也实践过很多了,这次是针对富文本字符串,思量想去,也曾试图了解一些知名站点的实现方案,但结果不甚理想。
- 本文实例讲述了Go语言导出内容到Excel的方法。分享给大家供大家参考。具体实现方法如下:package main &
- 前段时间由于收集视频数据的需要,自己捣鼓了一个YouKu视频批量下载的程序。东西虽然简单,但还挺实用的,拿出来分享给大家。版本:Python
- 这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。举两个小例子。 >>> r
- ES6为Array增加了of函数用已一中明确的含义将一个或多个值转换成数组。因为,用new Array()构造数组的时候,是有二意性的。构造
- 管理认证系统最简单的方法是通过管理界面。然而,当你需要绝对的控制权的时候,有一些低层 API 需要深入专研,我们将在下面的章节中讨论它们。创
- 在网站中经常会生成表格,CSV和Excel都是常用的报表格式,CSV相对来说比较简单,如果大家有疑问我会相继发布一些CSV的实例,这里主要介
- 见过很多网站,在设计的时候给了用户很大的自由度,我个人并不赞同这种做法。最简单的例子,圈网。我在研究圈网的时候注册完成后圈网给了我一个搜索框
- 范围选区概述范围选区是一种常见的对象选择方式,在一个子图中,可以在某一个轴方向上用鼠标选择起始范围的数据,这个特性可用来实现数据缩放(dat
- 字符串字符串用''或者""括起来,如果字符串内部有‘或者",需要使用\进行转义>>
- <%Dim sc4Json Sub InitScriptControlSet sc
- 求最大连续子序列的和是一个很经典很古老的面试题了,记得在刚毕业找工作面试那会也遇到过同款问题。今儿突然想起来,正好快到毕业季,又该是苦逼的应
- 在了解装饰器之前,我们需要知道什么闭包是什么鬼!闭包:在一个函数内定义了一个函数f,并且这个函数f引用外部变量,在把这个函数f当做返回值返回
- editTable.js 提供编辑表格当前行、添加一行、删除当前行的操作,其中可以设置参数,如:operatePos 用于设置放置操作的列,
- 前言编写函数或者类时,还可以为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。本次我将介绍如何使用Python模块uni