Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hey everyone,
Im pretty new to Talend and I currently use it for my bachelor thesis.
I need to connect to a MySQL Database through a SSH Tunnel but it wont work for some reason.
I connected a tSSH element to a tMySQLConnection Element via a OnComponentOK check.
Even after double and tripple checking Host, Port, User, etc. it wont work.
I use "localhost" as host for the tMySQLConnection and tried "127.0.0.1" as well but no success.
The tSSH Element seems to work as it only throws the error when trying to connect to the database.
The error I get is the following:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1127)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:356)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2502)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2539)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2321)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at ba_flightfile.ghams2dwh_0_1.GHAMS2DWH.tMysqlConnection_1Process(GHAMS2DWH.java:1085)
at ba_flightfile.ghams2dwh_0_1.GHAMS2DWH.tSSH_1Process(GHAMS2DWH.java:860)
at ba_flightfile.ghams2dwh_0_1.GHAMS2DWH.tOracleConnection_1Process(GHAMS2DWH.java:548)
at ba_flightfile.ghams2dwh_0_1.GHAMS2DWH.runJobInTOS(GHAMS2DWH.java:1474)
at ba_flightfile.ghams2dwh_0_1.GHAMS2DWH.main(GHAMS2DWH.java:1323)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:244)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:258)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:306)
... 19 more
I really hope someone can help me with that.
Thanks in advance and kind regards, Sascha.
Hello,
You can create ssh tunnel from Talend with tSystem component.
Here is another way introuduced in this article about:https://community.talend.com/t5/Architecture-Best-Practices-and/Learned-By-Doing-How-to-connect-a-St...
Hope it will help.
Best regards
Sabrina