# JDBC connection to DB2 failed

**URL:** <https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617>\
**Category:** Logstash\
**Created:** [February 6, 2018, 10:46am UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617 "2018-02-06T10:46:01Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Farhad\_Yousefi](https://avatars.discourse-cdn.com/v4/letter/f/b487fb/32.png) [@Farhad\_Yousefi](https://discuss.elastic.co/u/Farhad_Yousefi)\
**Post date:** [February 6, 2018, 10:46am UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617/1 "2018-02-06T10:46:01Z")

</div>

I want to check one of our DB2 database's table via logstash but I got this exception.

`[2018-02-06T13:34:34,175][ERROR][logstash.agent] Pipeline aborted due to error {:exception=>#<Sequel::DatabaseConnectionError: Java::JavaSql::SQLException: The application requester cannot establish the connection. (Connection refused)>, :backtrace=>["com.ibm.as400.access.JDError.createSQLExceptionSubClass(com/ibm/as400/access/JDError.java:824)", "com.ibm.as400.access.JDError.throwSQLException(com/ibm/as400/access/JDError.java:553)", "com.ibm.as400.access.AS400JDBCConnection.setProperties(com/ibm/as400/access/AS400JDBCConnection.java:3391)", "com.ibm.as400.access.AS400JDBCDriver.prepareConnection(com/ibm/as400/access/AS400JDBCDriver.java:1419)", "com.ibm.as400.access.AS400JDBCDriver.initializeConnection(com/ibm/as400/access/AS400JDBCDriver.java:1256)", "com.ibm.as400.access.AS400JDBCDriver.connect(com/ibm/as400/access/AS400JDBCDriver.java:395)", "java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)",`

this is my input config

```
 input {
     beats {
        port => 5044
        ssl => true
        ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
        ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
     }
     jdbc {
        jdbc_connection_string => "jdbc:as400://ip/db"
        jdbc_user => "usr"
        jdbc_password => "pass"
        jdbc_driver_library => "/etc/logstash/lib/jt400-9.1.jar"
        jdbc_driver_class => "com.ibm.as400.access.AS400JDBCDriver"
        statement => "SELECT * FROM table1 FETCH FIRST ROWS ONLY"
     }
 }

```

I have to mention that the firewall inside of the Database have been disabled.

---

<div class="post-metadata">

**Author:** ![david.anton](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/david.anton/32/27411_2.png) [@david.anton](https://discuss.elastic.co/u/david.anton)\
**Post date:** [February 6, 2018, 11:07am UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617/2 "2018-02-06T11:07:53Z")

</div>

Did you tried with: jdbc\_connection\_string =\> "jdbc:as400://[ip];database name=[db]"

---

<div class="post-metadata">

**Author:** ![Farhad\_Yousefi](https://avatars.discourse-cdn.com/v4/letter/f/b487fb/32.png) [@Farhad\_Yousefi](https://discuss.elastic.co/u/Farhad_Yousefi)\
**Post date:** [February 6, 2018, 11:30am UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617/3 "2018-02-06T11:30:47Z")

</div>

thank you for reply.  
but no thing changed

`["com.ibm.as400.access.JDError.createSQLExceptionSubClass(com/ibm/as400/access/JDError.java:824)", "com.ibm.as400.access.JDError.throwSQLException(com/ibm/as400/access/JDError.java:553)", "com.ibm.as400.access.AS400JDBCConnection.setProperties(com/ibm/as400/access/AS400JDBCConnection.java:3391)", "com.ibm.as400.access.AS400JDBCDriver.prepareConnection(com/ibm/as400/access/AS400JDBCDriver.java:1419)", "com.ibm.as400.access.AS400JDBCDriver.initializeConnection(com/ibm/as400/access/AS400JDBCDriver.java:1256)",`

---

<div class="post-metadata">

**Author:** ![Farhad\_Yousefi](https://avatars.discourse-cdn.com/v4/letter/f/b487fb/32.png) [@Farhad\_Yousefi](https://discuss.elastic.co/u/Farhad_Yousefi)\
**Post date:** [February 6, 2018, 1:34pm UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617/4 "2018-02-06T13:34:25Z")

</div>

I think it is because of incompatibility of logstash and DB2. I use logstash version 5.1.1 and jt400-9.1 but I don't know which versions work perfect

---

<div class="post-metadata">

**Author:** ![guyboertje](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/guyboertje/32/31592_2.png) [@guyboertje](https://discuss.elastic.co/u/guyboertje)\
**Post date:** [February 6, 2018, 6:18pm UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617/5 "2018-02-06T18:18:19Z")

</div>

If you turn on debug logging, I think you should see a message that shows the actual connection string used to establish a connection.

Post it here.

---

<div class="post-metadata">

**Author:** ![Farhad\_Yousefi](https://avatars.discourse-cdn.com/v4/letter/f/b487fb/32.png) [@Farhad\_Yousefi](https://discuss.elastic.co/u/Farhad_Yousefi)\
**Post date:** [February 7, 2018, 12:41pm UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617/6 "2018-02-07T12:41:25Z")

</div>

I use db2jcc4.jar instead of jt400.jar and my problem solevd

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 7, 2018, 12:41pm UTC](https://discuss.elastic.co/t/jdbc-connection-to-db2-failed/118617/7 "2018-03-07T12:41:42Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
