`
jinyanliang
  • 浏览: 307969 次
  • 性别: Icon_minigender_1
  • 来自: 河南开封
社区版块
存档分类
最新评论

使用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,结果找到这篇文章:

http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/0402chenjunwei/0402chenjunwei.html


把驱动加到环境变量中,怎么试也是出问题,测试也不是db的版本与驱动的版本不一致。
上网baidu google也是没有找到原因,同事机器上就没有任何问题,我就看她的配置发现和我配置还有点区别,就是少动态数据库文件。
于是我把db2jdbc.dll文件拷到Java_Home/bin下面,重启机器,OK!一定要记住:是bin下面!!!
db2java.zip文件要改名为db2java.jar,并且放到Common/lib下。

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

分享到:
评论
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.<init>(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)

相关推荐

    ocijdbc10.rar

    eclipse如何解决no ocijdbc10 in java.library.path错误(ocijdbc9,ocijdbc8); java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path java.library.path 部署 ocijdbc10 Myeclipse 8.5中,web...

    sqljdbc-auth.dll 文件

    1.SQL Server使用windows用户连接数据库报错...Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path 2.因为缺少sqljdbc_auth.dll 文件 3.下载此资源放到jdk安装路径bin目录下,解决此问题

    DB2 11.5版本 jdbc db2jcc db2jcc4驱动

    它实现了JDBC API,使得Java应用程序能够透明地访问DB2数据库。 2. **Common.jar**:这个文件包含了DB2 JDBC驱动所需的通用类和库,是驱动程序正常运行的基础。 3. **db2qgjava.jar**:此文件可能包含了DB2 Query ...

    kingbaseV8 jdbc 驱动

    JDBC是Oracle公司提出的用于在Java程序中进行数据库操作的一套接口和规范,它提供了统一的API,使得开发人员可以使用相同的代码来访问多种不同的数据库。 KingbaseV8是一款国产的、高性能的关系型数据库管理系统,...

    Java连接达梦数据库驱动dm_jdbc

    Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14.jar dm_jdbc\Dm7JdbcDriver15.jar dm_jdbc\Dm7JdbcDriver16....

    JDBC连接db2驱动包,包含db2jcc_license_cu.jar,db2jcc4.jar

    String url = "jdbc:db2://hostname:port/dbname"; String user = "your_username"; String password = "your_password"; Connection conn = DriverManager.getConnection(url, user, password); ``` 其中,`...

    通过JDBC通过java连接DB2数据库

    ### 通过JDBC使用Java连接DB2数据库的关键知识点 #### JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成...

    DB2 解决连接问题方案

    本篇文章主要针对"DB2连接"的问题,详细阐述如何解决在Java JSP中连接DB2数据库时遇到的`java.lang.UnsatisfiedLinkError: no db2jdbc in java.library.path`异常。 首先,我们需要理解这个异常的原因。`...

    db2数据库驱动9.7jar包(全) db2jcc.jar+db2jcc_license_cu.jar

    Connection conn = DriverManager.getConnection("jdbc:db2://hostname:port/dbname", "username", "password"); ``` 3. 一旦连接建立,可以创建Statement或PreparedStatement对象来执行SQL语句,处理结果集,并...

    连接DB2包,DB2与JAVA连接驱动,JDBC驱动

    "jdbc:db2://hostname:port/dbname", "username", "password"); ``` 5. **执行SQL语句**: 一旦建立了连接,就可以通过`Statement`或`PreparedStatement`对象执行SQL查询、更新等操作。例如,创建一个预编译的...

    JDBC连接db2数据库.zip

    - 建立数据库连接:`Connection conn = DriverManager.getConnection("jdbc:db2://&lt;hostname&gt;:&lt;port&gt;/&lt;database&gt;", "&lt;username&gt;", "&lt;password&gt;");` - 创建Statement或PreparedStatement对象,用于执行SQL语句。 -...

    hive-jdbc-1.1.0-cdh5.4.5-standalone.jar

    Caused by: java.sql.SQLException: java.lang.ClassNotFoundException: org.apache.hive.jdbc.HiveDriver at com.trs.gateway.commons.hive.HiveFeature.getConnection(HiveFeature.java:57) at ...

    db2驱动 db2注册 db2java.zip db2jcc.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar

    String url = "jdbc:db2://hostname:port/databaseName"; String username = "yourUsername"; String password = "yourPassword"; try { Class.forName("com.ibm.db2.jcc.DB2Driver"); Connection conn = ...

    常用的数据库JDBC URL格式

    - **驱动程序类名**:`oracle.jdbc.driver.OracleDriver` - **JDBC URL**: - `jdbc:oracle:thin:@//&lt;host&gt;:&lt;port&gt;/ServiceName` - 或 `jdbc:oracle:thin:@&lt;host&gt;:&lt;port&gt;:&lt;SID&gt;` - `&lt;SID&gt;`:服务标识符,通常用于...

    db2_db2driver_for_jdbc_v11.5.tar.gz

    String url = "jdbc:db2://hostname:port/dbname"; String user = "username"; String password = "password"; try { Class.forName("com.ibm.db2.jcc.DB2Driver"); Connection conn = DriverManager.get...

    sqljdbc4-4.0.zip

    在Java编程环境中,与SQL Server交互通常需要使用JDBC(Java Database Connectivity)驱动。`sqljdbc4-4.0.jar`是微软为SQL Server提供的一个特定版本的JDBC驱动,用于在Java应用程序中连接到SQL Server数据库。 ...

    db2 jdbc 通过客户端连接db2

    这通常通过一个属性文件,比如`jdbc.properties`来实现。该文件可能包含以下内容: ```properties # DB2 JDBC连接属性 driver=com.ibm.db2.jcc.DB2Driver url=jdbc:db2://localhost:50000/DBNAME username=your_...

    DB2 v10.5.0.8 jdbc驱动 官方版

    总之,"DB2 v10.5.0.8 jdbc驱动 官方版"提供了与Java应用程序交互的桥梁,确保了跨平台的数据库访问能力。无论是开发、测试还是生产环境,正确选择和使用JDBC驱动都是确保数据库操作顺利进行的关键。

    Hive Beeline连接报错:Could not open client transport with JDBC Uri: jdbc:hive2://hcmaster:10000/default

    在使用Hive的Beeline客户端进行连接时,可能会遇到错误提示"Could not open client transport with JDBC Uri: jdbc:hive2://hcmaster:10000/default"。这个错误通常意味着Beeline无法通过JDBC URL成功建立到Hive ...

Global site tag (gtag.js) - Google Analytics