我们基于J2EE的应用程序运行在Websphere Applicaiton Server- AIX服务器上,安装了两个版本的DB2客户端(Db2v9.5,Db2v9.7)。
我有一个db示例,它在两个具有相同别名示例的DB2客户端版本中进行远程编目。
如果我从DB2v9.5中解压缩DB,应用程序就会下降。但是,如果我从DB2v9.7客户机中删除它,则应用程序不会受到影响。
从上面的测试中,我们了解到在缺省情况下DB2v9.5是如何使用的。
我现在的目标是使示例只指向DB2v9.7,而应用程序必须在DB2v9.5中没有示例DB的情况下工作。
对怎么做有什么建议吗?
使用的JDBC字符串是"jdbc: DB2 :sample“(注:DB2客户端没有端口)
我已经尝试将$LIBPATH & $LD_LIBRARY_PATH指向DB2v9.7本机lib32路径,并将AIX用户ID的.profile指向DB2v9.7/sqllib/db2profile,但没有成功。
你好,钱德鲁
发布于 2015-01-01 11:34:40
解决这个问题的方法是完全关闭运行在相同版本和路径的java中的所有JVM,然后重新启动它们。(在我们的例子中,AIX甚至在Dmgr、Node & CL关闭之后仍在运行。pConsole和WAS都使用相同的java)
这就是更新后的共享本机库没有反映在in中的原因。但是,在杀死&返回每个java实例(包括除了这些实例之外的实例)之后,本地库就会在日志中得到反映。
很抱歉在这么长时间后更新了答案。
发布于 2013-12-10 15:23:23
列出/usr/lib和/usr/include中的文件。您看到指向DB2的任何文件吗?
ls -l /usr/lib
ls -l /usr/include可能,您执行了一个db2ln,并创建了指向特定DB2客户机(9.5)的链接。每次执行Java应用程序时,LIBPATH优先于/usr/lib,而不是指定的DB2版本
LIBPATH=/usr/lib:/lib:/opt/IBM/db2/V9.7/lib32您可以运行db2rmln命令来删除链接。
看看这个页面:http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/t0006747.html
https://stackoverflow.com/questions/20496514
复制相似问题