我正在尝试从MySQL迁移到PostgreSQL,但我遇到一个与Java相关的问题,我无法解决。 全面披露:我对Java知之甚少,但迁移使用基于Java的脚本,因此对我来说变成了配置问题。
问题简述:
迁移工具抛出以下异常:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
mysql-connector-java-5.0.8-bin.jar
已经在“JAVA_HOME\jre\lib\ext”目录中,我不知道如何解决这个依赖问题。
问题的详细版本:
我试图从MySQL迁移到PostgreSQL。我查看了官方的PostgreSQL文档,并选择了可以从企业版下载的免费工具(可以在这里下载)开始迁移。
从安装自述文件中,他们告诉您默认情况下未安装mysql连接器,但他们也告诉您解决此问题的步骤:
要启用MySQL连接,请从以下位置下载MySQL的免费JDBC驱动程序: http://www.enterprisedb.com/downloads/third-party-jdbc-drivers
将
mysql-connector-java-5.0.8-bin.jar
文件放在“JAVA_HOME\jre\lib\ext”目录中(在我的情况下为:“C:\ Program Files \Java\ jre1.8.0_60 \ lib \ ext \ mysql-connector-java-5.0.8-bin.jar”)。
在正确配置工具并执行.bat之后,这是我得到的错误:
Connecting with source MySQL database server...
MTK-11009: Error Connecting Database "MySQL Server"
DB-null: java.sql.SQLException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Stack Trace:
com.edb.MTKException: MTK-11009: Error Connecting Database "MySQL Server"
at com.edb.dbhandler.mysql.MySQLConnection.<init>(MySQLConnection.java:48)
at com.edb.common.MTKFactory.createMTKConnection(MTKFactory.java:250)
at com.edb.MigrationToolkit.createNewSourceConnection(MigrationToolkit.java:5982)
at com.edb.MigrationToolkit.initToolkit(MigrationToolkit.java:3346)
at com.edb.MigrationToolkit.main(MigrationToolkit.java:1700)
Caused by: java.sql.SQLException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at com.edb.Utility.processException(Utility.java:327)
at com.edb.dbhandler.mysql.MySQLConnection.<init>(MySQLConnection.java:47)
... 4 more
据我理解,这可能意味着找不到mysql-connector-java-5.0.8-bin.jar
。
我在网上找到的所有关于该错误的链接都是针对Eclipse或其他IDE的,因此我还没有能够解决这个依赖问题。