将 schema 和 SP 从 informix 迁移到 mysql

Posted

技术标签:

【中文标题】将 schema 和 SP 从 informix 迁移到 mysql【英文标题】:Migrating schema and SP from informix to mysql 【发布时间】:2010-03-18 16:20:56 【问题描述】:

我们需要在 mysql 中重做一个已经在 Informix 上完成的数据库,有没有办法不仅迁移架构,还迁移存储过程?

谢谢。

我们有一个客户,我们为他构建了一个使用 Informix 数据库的 Web 应用程序。现在客户希望能够在多个封闭网络(如 20 个)上实现相同的软件。使用 Informix 执行此操作会非常昂贵(20 个许可证 X_X)。

所以最好的方法是在 MySQL 之类的东西上重做数据库。

该应用程序是使用 Flex、.Net(使用 ODBC)和 Informix 完成的。

【问题讨论】:

【参考方案1】:

我做过类似的事情,但是我将 Informix 数据库迁移到了 PostgreSQL。起初我 dbexported 整个数据库,所以整个数据和模式信息都在文本中。然后我写了一些翻译 schema 的 Python 程序,例如 Informix DATETIME YEAR TO SECOND 必须转换为 timestamp with time zone

当所有CREATE TABLE/INDEX 等都工作时,我将.unl 文件转换为PostgreSQL COPY 命令。您应该搜索如何在 MySQL 中进行批量加载,或者将这些文件转换为 INSERT 命令。

之后我开始转换存储过程。虽然 PostgreSQL PL/pgSQL 和 Informix SPL 非常不同,但这部分是最难的,我只能自动转换函数“原型”。函数体必须手动转换。

如果您完成了这项工作,您将必须检查您的应用程序是否能在新的 SQL 实现中正常工作。

【讨论】:

您和/或您的团队从 SPL 转换为 PL 有多难?你觉得你基本上重做了你的 SP,还是因为你只是手动翻译了你的代码而变得更容易了?我想估计时间,谢谢 我认为你必须检查你有多少存储过程以及它们做了​​什么,然后翻译其中一些。如果您从 3 翻译到 5,则更容易说明您需要花费多少时间来翻译所有程序。

以上是关于将 schema 和 SP 从 informix 迁移到 mysql的主要内容,如果未能解决你的问题,请参考以下文章

Java Web with Weblogic,DB Informix 存储过程数据——不可能的问题

Informix:如何平均存储过程的结果

将存储过程从 MS SQL Server 转换为 Informix

更新行时如何修复informix错误-244

如何将数据从 Informix 实时推送到 .NET 服务器?

将字节作为 SmallInt 传递?