Java – Hibernate error for DB2 10.5 Connection refused: connect. ERRORCODE=-4499, SQLSTATE=08001

db2hibernatejava

I am new Hibernate. I am trying to run my first Hibernate example.

I have installed db2 10.5 server in my local system.

My Hibernate config file:

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
  <session-factory>

    <property name="connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
    <property name="connection.url">jdbc:db2://localhost:5000/sample</property>
    <property name="connection.username">db2admin</property>
    <property name="connection.password">db2admin</property>

    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.DB2Dialect</property>

    <property name="show_sql">true</property>

    <mapping class ="com.googlesvn.practice.examples.hibernate.ramaschi.sample.miscDto.UserDetailsDto"></mapping>

  </session-factory>
</hibernate-configuration>

My sample database is up and able to run the query's. When I tried to run my sample hibernate program it throws following exception.

org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132)
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:118)
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140)
    at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58)
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845)
    at com.googlesvn.practice.examples.hibernate.runner.HibernateRunner.main(HibernateRunner.java:27)
Caused by: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2043][11550][4.19.26] 
Exception java.net.ConnectException: Error opening socket to server localhost/127.0.0.1 on port 5,000 with message: Connection refused: connect. ERRORCODE=-4499, SQLSTATE=08001
        at com.ibm.db2.jcc.am.kd.a(Unknown Source)
        at com.ibm.db2.jcc.am.kd.a(Unknown Source)
        at com.ibm.db2.jcc.t4.ac.a(Unknown Source)
        at com.ibm.db2.jcc.t4.ac.<init>(Unknown Source)
        at com.ibm.db2.jcc.t4.a.b(Unknown Source)
        at com.ibm.db2.jcc.t4.b.newAgent_(Unknown Source)
        at com.ibm.db2.jcc.am.Connection.initConnection(Unknown Source)
        at com.ibm.db2.jcc.am.Connection.<init>(Unknown Source)
        at com.ibm.db2.jcc.t4.b.<init>(Unknown Source)
        at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(Unknown Source)
        at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(Unknown Source)
        at com.ibm.db2.jcc.DB2Driver.connect(Unknown Source)
        at com.ibm.db2.jcc.DB2Driver.connect(Unknown Source)
        at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
        ... 13 more
    Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:383)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:245)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:232)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:377)
        at java.net.Socket.connect(Socket.java:539)
        at com.ibm.db2.jcc.t4.w.run(Unknown Source)
        at java.security.AccessController.doPrivileged(AccessController.java:251)
        ... 25 more

My hibernate properties are correct. I am able to test connect from my websphere admin console.

when I goggled Connection refused: connect. ERRORCODE=-4499, SQLSTATE=08001 error its says need to set tcpip property

db2set DB2COMM=tcpip

db2stop

db2start

I am not sure where should run these commends, I tried to db2 commend window, it doesn't work.

I am using db2jcc4.jar which I have used for connection pool form websphere admin console

Please help me to fix this issue.
Thanks

Best Answer

DB2 uses port 50000 by default, but you have specified 5000 in your JDBC URL. Unless you specifically modified your DB2 configuration after installing it, I would try adding a zero to your port number:

<property name="connection.url">jdbc:db2://localhost:50000/sample</property>
Related Topic