我尝试使用EnterpriseDB Migration Tool将我的MySQL数据库转换为PostgreSQL。我的设置如下:
问题是 - 它成功连接到源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 :(得分:0)
根据EDB's documentation,这是PostgreSQL的Postgres PLUS分支的参数。
所以看起来这个迁移工具只有在你迁移到他们专有的PostgreSQL版本时才有效,而不是标准版本。
答案 1 :(得分:0)
我认为你应该参考 this tool's documentation
根据此文档,您可以尝试添加一个命令行选项:
C:\Program Files (x86)\edb\mtk\bin>runMTK -sourcedbtype mysql -targetdbtype postgresql s2c_data
答案 2 :(得分:0)
我找到了解决方案 - DBTransfer。最初的版本非常老旧,因此我不得不解决一些问题。来源是here。随意将它用于您的项目。