2017-03-02 340 views
0

我試圖使用EnterpriseDB遷移工具將我的MySQL數據庫轉換爲PostgreSQL。我的設置如下:使用EnterpriseDB遷移工具將MySQL數據庫遷移到PostgreSQL

  • 的Windows 10的x64
  • MySQL的52年5月5日社區版GPL
  • 教育局的PostgreSQL 9.6.2-2
  • EnterpriseDB的遷移工具包50.0.1

問題是 - 它成功連接到源MySQL和目標PostgreSQL,但隨後出現錯誤「無法識別的配置參數db_dialect」:

C:\Program Files (x86)\edb\mtk\bin>runMTK -sourcedbtype mysql s2c_data 

Running EnterpriseDB Migration Toolkit (Build 50.0.1) ... 

Source database connectivity info... 
conn=jdbc:mysql://localhost:3306/s2c_data?zeroDateTimeBehavior=convertToNull 
user =s2c_data_user 
password=****** 


Target database connectivity info... 
conn =jdbc:edb://localhost:5432/s2c_data 
user =s2c_data_user 
password=****** 


Connecting with source MySQL database server... 
Connected to MySQL, version '5.5.52-log' 
Connecting with target EDB Postgres database server... 
Connected to PostgreSQL, version '9.6.2' 

Importing mysql schema s2c_data... 
MTK-17003:Error in copy tables: java.sql.SQLException: com.edb.util.PSQLException: ERROR: unrecognized configuration parameter: "db_dialect" 
MTK-03000: General Error DB-null: java.sql.SQLException: java.sql.SQLException: java.sql.SQLException: com.edb.util.PSQLException: ERROR: unrecognized configuration parameter: "db_dialect" 


One or more schema objects could not be imported during the migration process. Please review the migration output for more details. 

Migration logs have been saved to C:\Users\Alex_R\.enterprisedb\migration-toolkit\logs 

******************** Migration Summary ******************** 

Total objects: 0 Successful count: 0 Failed count: 0 Invalid count: 0 

************************************************************* 

C:\Program Files (x86)\edb\mtk\bin> 

有人遇到同樣的問題?看起來像EDB MTK中的錯誤,但可能是我錯過了一些東西。將不勝感激任何幫助。

回答

0

根據EDB's documentation,這是PostgreSQL的Postgres PLUS fork的一個參數。

所以它看起來像這個遷移工具只適用於你遷移到他們專有版本的PostgreSQL,而不是標準版本。

+0

嗨,Laurenz,謝謝你,我認爲你是對的,但是這是我不明白的 - 我使用EDB安裝程序/ Stack Builder完成了服務器和MTK的全新安裝,因此它們來自同一個軟件包。可能是我太天真了,以爲他們應該是兼容:) –

+1

我會問教育局,如果我是你 - 這是他們的產品。 –

0

我想你應該參考 this tool's documentation

根據這一文件,也許你可以嘗試添加更多的命令行選項:

C:\Program Files (x86)\edb\mtk\bin>runMTK -sourcedbtype mysql -targetdbtype postgresql s2c_data 
+0

試過了,它沒有幫助。我最終在git上分發了DBTransfer,修復了所有的錯誤,並設法將我的數據庫移動到所有PK,FK,排序,約束和視圖。這是通用的,所以任何人希望改善它,請歡迎 https://github.com/abratchik/dbtransfer –

0

我找到了解決辦法 - DBTransfer。原來的版本是相當古老和越野車,所以我不得不修復幾件事情。來源是here。隨意使用它爲您的項目。