无法连接到通过eclipse在bluemix中创建的“Compose for PostgreSQL”DB

时间:2016-10-07 07:41:56

标签: postgresql ibm-cloud compose ibm-compose

我无法使用eclipse与Compose for PostgreSQL数据库服务建立连接。测试连接时出现以下错误。

org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. 
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:122) 
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65) 
    at org.postgresql.jdbc2.AbstractJdbc2Connection.(AbstractJdbc2Connection.java:116) 
    at org.postgresql.jdbc3.AbstractJdbc3Connection.(AbstractJdbc3Connection.java:30) 
    at org.postgresql.jdbc3.Jdbc3Connection.(Jdbc3Connection.java:24) 
    at org.postgresql.Driver.makeConnection(Driver.java:369) 
    at org.postgresql.Driver.connect(Driver.java:245) 
    at org.eclipse.datatools.enablement.internal.postgresql.PostgreSQLJDBCConnection.createConnection(PostgreSQLJDBCConnection.java:87) 
    at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105) 
    at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54) 
    at org.eclipse.datatools.enablement.internal.postgresql.PostgreSQLJDBCConnection.(PostgreSQLJDBCConnection.java:47) 
    at org.eclipse.datatools.enablement.internal.postgresql.PostgreSQLConnectionFactory.createConnection(PostgreSQLConnectionFactory.java:51) 
    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.ui.PingJob.createTestConnection(PingJob.java:76) 
    at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 
Caused by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)

我可以通过BlueMix中部署的应用程序连接到数据库。

2 个答案:

答案 0 :(得分:0)

您如何填充连接凭据?在Bluemix上运行时,应用程序将访问VCAP_SERVICES,但除非您已将该环境变量专门复制到Eclipse环境,否则该信息将无法供您的应用程序使用。

答案 1 :(得分:0)

错误表示连接被拒绝。这很可能意味着您输入的主机和端口组合不正确。您需要确保可以连接到主机。

您可以通过nc -vz xxxxx.dblayer.com 10000检查本地系统是否可以连接,其中xxxxx.dblayer.com是变量中提供给您的完整主机名,10000是端口,也是提供的。

似乎您的语法/配置可能不正确,因为被拒绝的连接会表明它无法连接但是从您的帖子中不清楚它实际尝试连接的主机名/端口是什么到。