Невозможно подключиться к базе данных Compose для PostgreSQL, созданной в bluemix, через eclipse

Я не могу установить соединение со службой БД Compose для PostgreSQL с помощью eclipse. Ошибка ниже при проверке соединения.

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.


person Deepak Naik    schedule 07.10.2016    source источник


Ответы (2)


Как вы заполняете учетные данные для подключения? Приложение будет иметь доступ к VCAP_SERVICES при запуске в Bluemix, но если вы специально не скопировали эту переменную среды в среду Eclipse, эта информация не будет доступна вашему приложению.

person Community    schedule 07.10.2016
comment
Я использую команду CF cli cf env ‹APP_NAME›, чтобы получить сведения о службе. Ниже приведены сведения, которые я ввел в eclipse для подключения. Драйвер: Драйвер PostgreSQL JDBC, База данных: «Имя базы данных», URL-адрес: jdbc: postgresql:// «хост»: «Порт» / «Имя базы данных», имя пользователя: «Имя пользователя», пароль: «Пароль». другие детали для подключения. - person Deepak Naik; 07.10.2016

Ошибка указывает на то, что соединение было отклонено. Скорее всего, это означает, что введенная вами комбинация хоста и порта неверна. Вам нужно убедиться, что вы можете подключиться к хосту.

Вы можете проверить, может ли ваша локальная система подключиться, выполнив nc -vz xxxxx.dblayer.com 10000, где xxxxx.dblayer.com — это полное имя хоста, предоставленное вам в переменной, а 10000 — это также указанный порт.

Кажется, что ваш синтаксис/конфигурация могут быть неправильными, поскольку отказ в подключении будет означать, что он не может подключиться, однако из вашего сообщения неясно, к какому имени хоста/порту он на самом деле пытается подключиться.

person Tim Yocum    schedule 07.10.2016