Java 如何在AIX5.3上正确加载DB2驱动程序

Java 如何在AIX5.3上正确加载DB2驱动程序,java,jdbc,db2,aix,Java,Jdbc,Db2,Aix,我遇到了从AIX5.3上的JAVA应用程序加载DB2驱动程序的恼人问题,我得到的是: java.sql.SQLException:java.lang.unsatifiedlinkerror:db2jdbc(路径名中的文件或目录不存在。) 位于COM.ibm.db2.jdbc.app.DB2Driver(未知来源) 位于java.lang.Class.newInstanceImpl(本机方法) 位于java.lang.Class.newInstance(Class.java:1243) 位于com

我遇到了从AIX5.3上的JAVA应用程序加载DB2驱动程序的恼人问题,我得到的是:

java.sql.SQLException:java.lang.unsatifiedlinkerror:db2jdbc(路径名中的文件或目录不存在。) 位于COM.ibm.db2.jdbc.app.DB2Driver(未知来源) 位于java.lang.Class.newInstanceImpl(本机方法) 位于java.lang.Class.newInstance(Class.java:1243) 位于com.hp.sm.doctor.collection.commandLineConsole.CommandLineEntryMain.main(CommandLineEntryMain.java:143)

我在谷歌上搜索了很多次,似乎我什么都准备好了,但这个例外不会消失。。 详情如下: PATH=/usr/java5/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/home/scuser/SC6283/RUN:/home/fpeSM/sqllib/bin:/home/fpeSM/sqllib/adm:/home/fpeSM/sqllib/misc CLASSPATH=/home/fpeSM/sqllib/java/db2java.zip:/home/fpeSM/sqllib/java/db2jcc.jar:/home/fpeSM/sqllib/java/sqlj.zip:/home/fpeSM/sqllib/function:/home/fpeSM/sqllib/java/db2jcc\u license\u cu.jar:。 LIBPATH=/usr/lib:/lib:/home/fpeSM/sqllib/lib64

我用计算机运行我的脚本

java-cp/home/fpeSM/sqllib/java/db2java.zip:/home/fpeSM/sqllib/java/db2jcc.jar:/home/fpeSM/sqllib/java/sqlj.zip:/home/fpeSM/sqllib/function:/home/fpeSM/sqllib/lib32:/home/fpeSM/sqllib/java/db2jcc_license_.jar::smdoctor.jar.com.hp.sm.sm.doctor.collection.commandLineConsole.CommandLineEntryMain

有谁能告诉我整个过程的要点是什么?很多很多。。谢谢 另外,libdb2jdbc.so确实存在于/home/fpeSM/sqllib/lib64下

偶数

  • db2java.zip文件的内容是什么
  • 请解压缩它,看看它有没有jar文件和本机二进制文件。将jar文件放在类路径中,将二进制文件放在类路径中
  • 如果zip只包含jar文件,那么将所有这些jar文件放在类路径中
  • 将zip文件放入类路径不会将JAR放入类路径中。您已经将提取的jar文件放在类路径中

  • 通过将
    -Djava.library.path=/home/fpeSM/sqllib/lib64:…
    添加到命令中,尝试告诉Java DB2本机库的位置。您的PATH和CLASSPATH变量和命令引发了一些问题:

    • 为什么会有两个不同版本的Java(1.4和5) 在路径上可用吗
    • 似乎有两个版本的DB2驱动程序是 在类路径上可用
      db2java.zip
      提供DB2JDBC类型2和类型4 驱动程序和
      db2jcc.jar
      提供DB2JDBCType4驱动程序。DB2 在版本晚8的某个地方删除了Type2JDBC驱动程序 或者早9点
    • 是否安装了32位和64位库?如果您运行的是32位Java,请确保 库是一个32位库。我不熟悉AIX,但对于Linux,我会使用
      文件libdb2jdbc.so
      来检查它是32位库还是64位库