0

DataNucleus を使用して RDS に接続する Amazon の Beanstalk にデプロイされた JSP ファイルを実行しようとしていますが、次のエラーが発生します。

javax.jdo.JDOFatalDataStoreException: jdbc に適したドライバーが見つかりません:mysql://mydbblahblah.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

次の手順を使用して、この問題を [ほぼ] 解決しました 。 server-with-ec2-security-permissions/

さらに、EC2 セキュリティ グループにはポート 3306 のルール セットが必要です。残念ながら、このコードは読み取りはできますが、書き込みはできません。

于 2011-04-08T20:35:13.780 に答える
-1

そのため、他に変更を加えずに DataNucleus 2.0 にダウングレードしたところ、問題は解消されました。悲しいですが、うまくいきました。MySQL で DataNucleus の新しいバージョンを推奨することはできません。

于 2011-05-17T00:49:35.270 に答える