2011-07-19 41 views
0

我有装载DB2驱动程序从AIX5.3 JAVA应用这个恼人的问题DB2驱动负载,我得到的是:如何正确获得AIX 5.3

值java.sql.SQLException:JAVA。 lang.UnsatisfiedLinkError:db2jdbc(路径名中的文件或目录不存在。) at COM.ibm.db2.jdbc.app.DB2Driver。(Unknown Source) at java.lang.Class.newInstanceImpl(Native Method) 在java.lang.Class.newInstance(Class.java:1243) 在com.hp.sm.doctor.collection.commandLineConsole.CommandLineEntryMain.main(CommandLineEntryMain.java:143)

我/ usr/bin:/ etc:/ usr/bin/usr/bin/usr/bin/usr/bin:/ etc:/ usr/bin目录下的所有文件都会被删除,但是这个例外不会消失.. 这里是详细信息: PATH =/usr/sbin目录:在/ usr/UCB:在/ usr/bin中/ X11:/ sbin目录:在/ usr/java14/JRE/bin中:在/ usr/java14 /斌:/家庭/ scuser/SC6283/RUN:/家庭/ fpeSM/SQLLIB/bin中:/ home/fpeSM/sqllib/adm:/ home/fpeSM/sqllib/misc CLASSPATH =/home/fpeSM/sqllib/java/db2java.zip:/home/fpeSM/sqllib/java/db2jcc.jar:/家用/ fpeSM/SQLLIB/JAVA/sqlj.zip:/家庭/ fpeSM/SQLLIB /功能:/home/fpeSM/sqllib/java/db2jcc_license_cu.jar :. LIBPATH =/usr/lib目录:/ lib目录:/家庭/ 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_cu.jar:.:smdoctor.jar com.hp.sm.doctor.collection.commandLineConsole.CommandLineEntryMain

任何人都可以告诉我什么是要使整个事情工作?非常感谢! P.S.,libdb2jdbc.so DOES存在于/ home/fpeSM/sqllib/lib64下。

即使

回答

0

尝试通过将-Djava.library.path=/home/fpeSM/sqllib/lib64:...添加到您的命令来告诉Java DB2本地库位于何处。 PATH和CLASSPATH变量和命令提出了一些问题:

  • 为什么你将有两个不同版本的Java(1.4和5) 的路径可用?
  • 似乎在CLASSPATH上提供了DB2驱动程序的两个版本 。 db2java.zip提供DB2 JDBC type 2和4 驱动程序,db2jcc.jar提供DB2 JDBC type 4驱动程序。 DB2 在第8版的 或第9版的早期版本的某个地方废除了类型2 JDBC驱动程序。
  • 是否安装了32位和64位库?如果您正在运行32位Java,请确保您的 库是32位库。我不熟悉AIX,但对于Linux,我将使用file libdb2jdbc.so来检查它是32位还是64位库。
0

即使,

  1. 什么是db2java.zip文件的内容是什么?
  2. 请解压缩并看到它有任何jar文件和本机二进制文件。将jar文件放在classpath和路径中的二进制文件中。
  3. 如果zip仅包含jar文件,则将所有这些jar文件放入classpath中。
  4. 将zip文件放入classpath中不会将jars放入classpath中。你将把解压缩的jar文件放到classpath中。