【问题标题】:Unable to connect to Amazon RDS via Eclipse无法通过 Eclipse 连接到 Amazon RDS
【发布时间】:2017-11-18 20:30:38
【问题描述】:

我是 Amazon RDS 的新手,并按照 this 教程设置数据库实例。接下来,我按照this教程从eclipse连接到数据库实例。我可以从 Amazon RDS 选项卡下的 AWS Explorer 中找到数据库实例。此外,我可以通过 MySQL Workbench 连接到数据库实例。当我尝试通过 Eclipse 连接时,我收到此错误:

“无法连接到数据库。请确保您的密码正确,并确保您可以通过您的网络和您可能通过的任何防火墙访问您的数据库。”

错误日志包含以下内容:

Error-Could not connect to Amazon RDS DB: testconnect - US East (Virginia).

Warning-Error creating JDBC Connection connection to Amazon RDS DB: testconnect - US East (Virginia). (Error: Unknown database 'null')

Warning-Error creating SQL Model Connection connection to Amazon RDS DB: testconnect - US East (Virginia). (Error: Unknown database 'null')

错误日志扩展到控制台:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'null'
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
    at com.mysql.jdbc.Util.getInstance(Util.java:360)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:328)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:96)
    at org.eclipse.datatools.enablement.internal.mysql.connection.JDBCMySQLConnectionFactory.createConnection(JDBCMySQLConnectionFactory.java:28)
    at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
    at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
    at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionInfoImpl.initializeJDBCConnection(ConnectionInfoImpl.java:705)
    at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionInfoImpl.<init>(ConnectionInfoImpl.java:690)
    at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionFactory.createConnection(ConnectionFactory.java:38)
    at org.eclipse.datatools.connectivity.sqm.core.SQMConnectionFactory.createConnection(SQMConnectionFactory.java:45)
    at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionFactory.createConnection(ConnectionFactory.java:59)
    at org.eclipse.datatools.connectivity.internal.ConnectionFactoryAdapterProvider.createConnection(ConnectionFactoryAdapterProvider.java:114)
    at org.eclipse.datatools.connectivity.internal.ManagedConnection.createConnection(ManagedConnection.java:163)
    at org.eclipse.datatools.connectivity.internal.CreateConnectionJob.run(CreateConnectionJob.java:56)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

【问题讨论】:

  • 你在同一台笔记本电脑/机器上有 eclipse 和“MySQL Workbench”吗?
  • 是的,两个应用程序都在同一台机器上运行
  • 该错误表示您没有指定数据库名称。
  • AWS eclipse 插件检测到数据库实例名称,如这里的第一张照片所示:aws.amazon.com/blogs/developer/…

标签: eclipse amazon-rds


【解决方案1】:

检查您是否可以从 Eclipse 主机访问 RDS。你可以简单地使用远程登录。大多数时候我们在私有区域中创建 RDS。如果它在私有区域中,您可以使用 VPN 连接进行连接,并使用适当的安全组配置。

【讨论】:

    猜你喜欢
    • 2018-05-12
    • 1970-01-01
    • 2014-02-17
    • 2015-10-27
    • 1970-01-01
    • 2021-06-15
    • 2016-12-13
    • 1970-01-01
    • 2019-02-24
    相关资源
    最近更新 更多