0

我正在尝试运行部署到 Amazon Beanstalk 的 JSP 文件,该文件使用 DataNucleus 连接到 RDS,并且收到以下错误:

javax.jdo.JDOFatalDataStoreException:找不到适合 jdbc 的驱动程序:mysql://mydblahblah.rds.amazonaws.com:3306/mydb?autoReconnect=true

根本原因

java.sql.SQLException:找不到适合 jdbc 的驱动程序:mysql://bmydblahblah.rds.amazonaws.com:3306/mydb?autoReconnect=true
    java.sql.DriverManager.getConnection(DriverManager.java:640)
    java.sql.DriverManager.getConnection(DriverManager.java:200)

现在我在类路径中有 MySQL 连接器文件(它位于WebContent/WEB-INF/lib/mysql-connector-java-5.1.15-bin.jar,所以这应该可以工作。

我还确认,如果我从那里删除库,我会收到“com.mysql.jdbc.Driver not found on CLASSPATH”错误。

这是我的datanucleus.properties文件的样子:

javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.api.jdo.JDOPersistenceManagerFactory

javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
javax.jdo.option.ConnectionURL=jdbc:mysql://bmydbblahblah.rds.amazonaws.com:3306/mydb
#javax.jdo.option.ConnectionURL=jdbc:mysql://localhost:3306/mydb?autoReconnect=true
javax.jdo.option.ConnectionUserName=用户
javax.jdo.option.ConnectionPassword=pwnothere

所有这些都适用于连接到 RDS 的本地 Tomcat。只有在 Beanstalk 上运行时才会失败。

任何想法可能导致此问题?

谢谢

4

2 回答 2

0

我[几乎]使用以下程序解决了这个问题: http ://www.cubehouse.org/blog/2011/03/04/using-rds-aws-mysql-on-an-elastic-beanstalk-java-tomcat-带有 ec2 安全权限的服务器/

此外,您的 EC2 安全组需要为端口 3306 设置一个规则集。遗憾的是,此代码可以读取但不能写入。

于 2011-04-08T20:35:13.780 回答
-1

所以我们降级到 DataNucleus 2.0 没有任何其他更改,问题就消失了。伤心,但它奏效了。我不能推荐使用 MySQL 的较新版本的 DataNucleus。

于 2011-05-17T00:49:35.270 回答