从 Oracle 到 MS-Access 到 Mysql
Posted
技术标签:
【中文标题】从 Oracle 到 MS-Access 到 Mysql【英文标题】:From Oracle to MS-Access to Mysql 【发布时间】:2013-05-30 16:24:42 【问题描述】:我有一个客户,其 Oracle 数据库中有近 120,000,000 条记录。他们的工程师声称他们只能给我们他们数据库的 ms 访问转储。数据实际上将进入 mysql 关系数据库实例。
从 Oracle > Access > MySQL 迁移到什么潜在的问题和问题?
我们找到了可以将 oracle db 转换为 MySQL 的工具,但由于数据库 100gb 的大型特性 + 我不确定这些基于软件的解决方案处理转换过程的稳定性。这是一个时间紧迫的项目,我担心如果我们在开始时犯了任何错误,我们可能无法及时完成。
【问题讨论】:
访问具有相对非常有限的字段类型。甲骨文。除非数据库只有基本的 int/char/varchar 类型的东西,否则你可能会期待一些字段修改。 访问?有这么庞大的数据库?我也会害怕... 这也是我的想法,marc 和 eternay 我会看到让他们以 MySQL 语法转储INSERT
命令的文件。您可能可以编写一个查询来做到这一点。在运行INSERT
脚本之前,我还会执行与ALTER TABLE tbl_name NOLOGGING
等效的MySQL。根据this *** question,它是通过sql_log_bin
会话变量完成的。
100GB 在 Access 数据库中?
【参考方案1】:
将 Oracle 数据导出到逗号分隔、制表符分隔或竖线分隔的文件集不会很有挑战性。一直都这样。
我不知道为什么有人会声称只能从 Oracle 数据库生成 MS Access 转储——如果不是直接通过 ODBC 从 Access 中选择来完成,那么无论如何它都是通过中间平面文件完成的。我倾向于在这种说法上称其为“BS”或“无能”。
【讨论】:
+1 这是你的答案 OP。将数据移动到平面文件,然后导入该文件。忽略访问垃圾。【参考方案2】:maximum size of an Access database is 2GB,所以我看不出如果不对数据进行分区,如何实现建议的迁移。
【讨论】:
以上是关于从 Oracle 到 MS-Access 到 Mysql的主要内容,如果未能解决你的问题,请参考以下文章
如何将日期从 C# 存储到 MS-Access 以及如何检索它?
获取从 PHP ADO 连接返回到 MS-Access DB 的 JSON