前言 之前搭建了一个extjs + spring + oracle 的这样一个报表系统的框架。 因为其他部门的要求, 也需要这个framework 进行一些特殊的定制。 但是有一个问题是 oracle 的数据库是需要收费的, 个人使用倒没什么问题, 公司使用的话就会有侵权的问题了。 而my
前言之前搭建了一个extjs + spring + oracle 的这样一个报表系统的框架。 因为其他部门的要求, 也需要这个framework 进行一些特殊的定制。
但是有一个问题是 oracle 的数据库是需要收费的, 个人使用倒没什么问题, 公司使用的话就会有侵权的问题了。
而mysql 则是完全免费的。
所以使用 extjs + spring + mysql 这样的组合应该就没什么问题了。
理论上来说, mysql 已经被oracle 收购, 这两者之间的migrate 应该比较容易, 但实际的迁移还是有一些问题, 以下就说一说一些实现的方式和问题。
方式一: 手动方式导入导出
手动的方式导入, 就是操作步骤会比较繁琐一些。
对table 的结构和数据:
1. 使用 sql developer 把 oracle 的 table 的schema 和 data(.sql 和 .xls) 导出
2. 使用 mysql 的 workbench 创建 table 和导入数据。
这里语法上会稍微有一些不同, 所以需要略微做一些调整。
对于view 来说, 特别是复杂的有子查询的oracle view 说, 要导入到mysql 看起来就不是那么容易了。
方式二: 使用工具navicat 进行导入
http://www.navicat.com.cn
navicat , 这是mysql 官方网站上有人建议使用的工具。 这是一个收费的软件。 目前的收费是 1000 到1600 人民币。 但是可以免费试用一个月。
下载安装后, 启动的页面如下:
迁移的流程如下:
1. 新建数据库的连接
建立需要迁移的oracle 和 mysql 的数据库连接。
另外, 建立oracle 连接的时候还需要下载一个oci.dll 的文件。
下载地址:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下载之后, 解压到某个目录:
在 navicat 的 工具 --> 选项 下做类似如下设置:
细部可以参见:
http://wiki.navicat.com/wiki/index.php/instant_client_required
完成设置后, 重启 navicat
2. 设置过连接之后, 接下来就可以进行表和数据的migrate 了
点击: 工具 --》 数据传输