Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Establishing tMySQLConnection through tSSH Tunnel

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.

Labels (4)
1 Reply
Anonymous
Not applicable
Author

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