druid 连接db2_使用JDBC访问DB2的问题:no db2jdbc in java.library.path

使用DB2自带的驱动db2java.zip文件中的type2类型的驱动访问DB2,总是报错: java.sql.SQLException: java.lang.UnsatisfiedLinkError: no db2jdbc in java.library.path

或者:

java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.app.DB2Driver

要么就报:没有合适的驱动。

我开始查classpath,把多余的驱动都删除了,还是报错,后来我又把db2java.zip文件改名为db2java.jar,也还是不行。

折腾了一个小时,我意识到访问DB2和访问Oracle不太一样,于是google,结果找到这篇文章:

把驱动加到环境变量中,怎么试也是出问题,测试也不是db的版本与驱动的版本不一致。

上网baidu google也是没有找到原因,同事机器上就没有任何问题,我就看她的配置发现和我配置还有点区别,就是少动态数据库文件。

于是我把db2jdbc.dll文件拷到Java_Home/bin下面,重启机器,OK!一定要记住:是bin下面!!!

db2java.zip文件要改名为db2java.jar,并且放到Common/lib下。

但是出现上述情况很有可能就是装DB2的时候 选择了最精简模式安装,导致必要的文件没有安装。

分享到:

2011-11-28 12:56

浏览 9054

评论

2 楼

ytt06460105

2013-01-23

问题已解决。

1 楼

ytt06460105

2013-01-23

楼主:按照你的方法做了,又出现了新的错误:

[com.alibaba.druid.pool.DruidDataSource]create connection holder error

java.sql.SQLException: [IBM][JDBC Driver] CLI0626E  getHoldability 在此版本的 DB2 JDBC 2.0 驱动程序中不受支持。

at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throwNotSupportedByDB2(Unknown Source)

at COM.ibm.db2.jdbc.app.DB2Connection.getHoldability(Unknown Source)

at com.alibaba.druid.filter.FilterChainImpl.connection_getHoldability(FilterChainImpl.java:319)

at com.alibaba.druid.filter.FilterAdapter.connection_getHoldability(FilterAdapter.java:849)

at com.alibaba.druid.filter.FilterChainImpl.connection_getHoldability(FilterChainImpl.java:316)

at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.getHoldability(ConnectionProxyImpl.java:180)

at com.alibaba.druid.pool.DruidConnectionHolder.(DruidConnectionHolder.java:68)

at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:1182)

[org.hibernate.engine.jdbc.internal.JdbcServicesImpl]HHH000342: Could not obtain connection to query metadata : can not get connection

[org.hibernate.dialect.Dialect]HHH000400: Using dialect: org.hibernate.dialect.DB2Dialect

[org.hibernate.engine.jdbc.internal.LobCreatorBuilder]HHH000422: Disabling contextual LOB creation as connection was null

[org.hibernate.engine.transaction.internal.TransactionFactoryInitiator]HHH000399: Using default transaction strategy (direct JDBC transactions)

[org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory]HHH000397: Using ASTQueryTranslatorFactory

[org.hibernate.tool.hbm2ddl.SchemaExport]HHH000227: Running hbm2ddl schema export

Exception in thread "Druid-ConnectionPool-Destory" java.lang.NullPointerException

at com.alibaba.druid.pool.DruidDataSource.shrink(DruidDataSource.java:1374)

at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:1226)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
3765209 [Druid-ConnectionPool-Create-146186969] com.alibaba.druid.pool.DruidDataSource.run:2815| create connection SQLException, url: jdbc:postgresql://10.251.150.35:5432/adverse, errorCode 0, state 08001 org.postgresql.util.PSQLException: Connection to 10.251.150.35:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:285) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:217) at org.postgresql.Driver.makeConnection(Driver.java:458) at org.postgresql.Driver.connect(Driver.java:260) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:118) at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:764) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:112) at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:232) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:112) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1645) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1709) at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2813) Caused by: java.net.ConnectException: 拒绝连接 (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) 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.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:607) at org.postgresql.core.PGStream.<init>(PGStream.java:81) at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:93) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:197)
07-13

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值