【发布时间】:2016-11-28 19:24:15
【问题描述】:
我正在尝试从 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 文档,我选择了 entreprisedb 的免费工具(可以在here 下载)开始迁移。
从安装自述中,他们告诉你默认没有安装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 的,所以我还不能解决这个依赖问题。
【问题讨论】:
-
连接器必须放在您的项目中,而不是在 JRE 中
标签: java mysql postgresql