В настоящее время я создаю задание ETL в talend, которое подключается к базе данных PostgreSQL, и я столкнулся с ошибкой соединения.Talend failing connection to PostgreSQL
Я установил соединение db в моем репозитории talend со всеми подробностями подключения. Мне нужно подключиться к моей базе данных postgreSQL и сохранить как «mydbconnection», указанную конкретную схему базы данных.
Я использовал mydbconnection
в tPostgreSQLOutput
и tPostgreSQLInput
и оба отлично работали. Однако, когда я использую то же соединение из репозитория в tEltPostgreSQLOutput_1
, он выдает ошибку (см. Ниже).
- Я попытался следующие действия, чтобы разрешить его:
- Проверить детали соединения в хранилище и выбежала «Проверить подключение» и все было нормально
- Убедился имя пользователя имеет привилегии над этой задачей - все нормально
- Проверено максимальное количество сеансов, с которыми пользователь может подключиться, может быть - ok
- Проверено максимальное количество сеансов, которые сервер базы данных готов принять - все нормально
- Проверено журналы базы данных - ничего не записано (даже «неудачная попытка подключения»)
- Проверено, что версия java на моей машине - v7 поддерживается новейшим талантом.
- Искал предыдущие вопросы здесь!
... и понятия не имеют, куда идти отсюда. Кто-нибудь знает какие-либо другие хорошие исследования, чтобы разрешить это?
Сообщение об ошибке:
Exception in component tELTPostgresqlOutput_1
org.postgresql.util.PSQLException: The connection attempt failed.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:137)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:386)
at org.postgresql.Driver.connect(Driver.java:260)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at zurich_segmentation_prod.is_300_customer_new_0_1.is_300_customer_new.tELTPostgresqlMap_1Process(is_300_customer_new.java:338)
at zurich_segmentation_prod.is_300_customer_new_0_1.is_300_customer_new.runJobInTOS(is_300_customer_new.java:602)
at zurich_segmentation_prod.is_300_customer_new_0_1.is_300_customer_new.main(is_300_customer_new.java:470)
Есть ли еще какое-то исключение, возможно, раздел 'Caused by:'? Какую версию PgJDBC вы используете? Есть ли сообщение в журнале ошибок сервера PostgreSQL? –
Привет, Крейг, кажется, что талант не заполняет детали подключения в базовый сценарий java. Я открыл java и нашел следующее: dbUser_tELTPostgresqlOutput_1 = ""; и dbPwd_tELTPostgresqlOutput_1 = ""; Я жестко закодировал их в java сейчас, и это работает, но это небезопасное решение. Интересно, имеет ли кто-нибудь еще эту проблему? – listonator
Из вашего описания неясно, как вы используете 'tEltPostgreSQLOutput' внутри своей работы. Не могли бы вы загрузить скриншот? – cyroxx