2010-03-18 60 views
1

我們需要在MySQL中重做一個已經在Informix上完成的數據庫,是否有一種方法可以遷移模式,而且還可以遷移存儲過程?將模式和SP從informix移植到mysql

謝謝。

我們有一個客戶,我們構建了一個使用Informix數據庫的Web應用程序。現在客戶希望能夠實現相同的軟件,但在多個封閉的網絡上(如20)。使用Informix執行此操作將非常昂貴(20個許可證X_X)。

所以最好的方法是重做MySQL等東西的數據庫。

該應用程序使用Flex,.Net(使用ODBC)和Informix完成。

回答

2

我做了類似的事情,但我將Informix數據庫遷移到PostgreSQL。起初,我報告了整個數據庫,因此整個數據和模式信息都是在文本中。然後,我編寫了一些翻譯模式的Python程序,例如Informix DATETIME YEAR TO SECOND必須轉換爲timestamp with time zone

當所有CREATE TABLE/INDEX等工作,然後我翻譯.unl文件到PostgreSQL COPY命令。您應該搜索如何在MySQL中執行批量加載,或將這些文件轉換爲INSERT命令。

之後,我開始轉換存儲過程。雖然PostgreSQL PL/pgSQL和Informix SPL非常不同,但這個部分是最難的,我能夠自動轉換功能「原型」。函數體必須手動轉換。

如果您完成了這一步,您將不得不檢查您的應用程序是否適用於新的SQL實現。

+0

您和您的團隊從SPL翻譯成PL有多困難?你覺得你基本上重新編寫了你的​​SP,還是因爲你手動翻譯了你的代碼而變得更容易?我試圖估計時間,謝謝 – sergiogx 2010-04-06 17:22:50

+0

我認爲你必須檢查你有多少存儲過程和他們做什麼,然後翻譯他們中的一些。如果你從3翻譯到5,那麼說明你將花費多少時間來翻譯所有程序會更容易一些。 – 2010-04-07 05:32:09