user4485029
user4485029

Reputation:

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

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

Upvotes: 2

Views: 9411

Answers (1)

Ian Bjorhovde
Ian Bjorhovde

Reputation: 11032

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>

Upvotes: 2

Related Questions