【问题标题】:java.lang.UnsatisfiedLinkError while loading DB2 JDBC driver加载 DB2 JDBC 驱动程序时出现 java.lang.UnsatisfiedLinkError
【发布时间】:2011-04-26 19:22:56
【问题描述】:

我尝试将jboss-seam与db2数据库一起使用,出现以下错误

com.ibm.db2.jcc.a.SqlException: [jcc][10389][12245][3.52.95] while loading the native 
library   db2jcct2, java.lang.UnsatisfiedLinkError: no db2jcct2 in java.library.path  
an error occurred ERRORCODE=-4472, SQLSTATE=null

我尝试设置-Djava.library.path=/opt/IBM/db2/V9.5/lib64 以及

-Djava.library.path=/opt/IBM/db2/V9.5/lib32

两个路径都包括libdb2jcct2.so

我也尝试设置LD_LIBRARY_PATH,但没有任何效果。

操作系统是 MacOs

编辑 我还尝试使用 JDBC4 驱动程序 db2jcc4.jar,因为 jdbc4 驱动程序不应该依赖本机库。

【问题讨论】:

    标签: java macos jdbc db2


    【解决方案1】:

    您是否也尝试过设置DYLD_LIBRARY_PATH?可能值得一试。

    【讨论】:

    • +1 DYLD_LIBRARY_PATH 用于 MacO,而不是 LD_LIBRARY_PATH
    【解决方案2】:

    从路径来看,这看起来是一个 linux /unix 平台。尝试运行strace/truss 以查看哪些目录正在为库打开。

    【讨论】:

    • +1 好的提示,对于记录,Mac 上的工具称为 dtrace。 dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'
    【解决方案3】:

    如果java.library.path(使用 LD_LIBRARY_PATH 环境变量分配)错误,您实际上应该得到类似:“t2 本机库加载失败”。

    您可以检查java.library.path 以查看是否包含这样的路径。

    System.out.println(System.getProperty("java.library.path"));

    你会不会错过另一个像db2jcc_license_cu.jar这样的罐子

    也许发布你的类路径。您可以通过从 coide 中读取属性 java.class.path 来获取它(如上)。

    【讨论】:

      【解决方案4】:

      适用于 JDBC 和 SQLJ 的 IBM 数据服务器驱动程序包括类型 2 和类型 4 JDBC 驱动程序。请检查以下内容:

      1) 确保驱动程序位于您的类路径中:db2jcc.jar。或者,您可以使用 JDBC4 驱动程序 (db2jcc4.jar),但不要将两者都放在类路径中。

      2) 确保您在应用配置中指定了 JCC 驱动程序 (com.ibm.db2.jcc.DB2Driver)。

      3) 使用类型 4 的 URL,例如 jdbc:db2://server:port/database。如果您指定一个类型 2 URL,如 jdbc:db2:database,那么驱动程序将开始寻找本机库。

      【讨论】:

        【解决方案5】:

        附加一个“driverType=4;”到您的网址。

        【讨论】:

          【解决方案6】:

          我在任何地方都找不到明确的示例,所以我将我的解决方案粘贴在这里。解决我问题的是添加“DriverType”值“4”的 xa-datasource-property。

                      <xa-datasource jndi-name="java:/DB2DataSource" pool-name="DB2DataSource" enabled="true" use-ccm="true">
                          <xa-datasource-property name="ServerName">
                              my.server.com
                          </xa-datasource-property>
                          <xa-datasource-property name="DatabaseName">
                              SAMBLEDB
                          </xa-datasource-property>
                          <xa-datasource-property name="PortNumber">
                              50000
                          </xa-datasource-property>
                          <xa-datasource-property name="DriverType">
                              4
                          </xa-datasource-property>
                          <driver>ibmdb2</driver>
                          <xa-pool>
                              <is-same-rm-override>false</is-same-rm-override>
                          </xa-pool>
                          <security>
                              <user-name>username</user-name>
                              <password>supersecret</password>
                          </security>
                          <recovery>
                              <recover-plugin class-name="org.jboss.jca.core.recovery.ConfigurableRecoveryPlugin"/>
                          </recovery>
                          <validation>
                              <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker"/>
                              <background-validation>true</background-validation>
                              <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2StaleConnectionChecker"/>
                              <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter"/>
                          </validation>
          
                      </xa-datasource>
          

          【讨论】:

            猜你喜欢
            • 2013-06-13
            • 2014-11-11
            • 1970-01-01
            • 1970-01-01
            • 2011-08-24
            • 2021-11-20
            • 1970-01-01
            • 2023-04-06
            • 1970-01-01
            相关资源
            最近更新 更多