最近在測試一個IQ字符集問題,程序是用Jsp+JavaBean 寫的,發(fā)布Tomcat5.0.3上面,運行時報如下問題:
java.lang.UnsatisfiedLinkError: no dbjodbc11 in java.library.path
Sybase提供了兩種訪問IQ的Jdbc Driver:jConnect和iAnywhere。jConnect是純Java的,在程序部署是時只需要相應(yīng)的Jar包(jconn2.jar或jconn3.jar);
iAnywhere是類型2的Driver,除了需要相應(yīng)的jar包(jodbc.jar)外還需要安裝IQ Client程序。
經(jīng)過分析問題原因,確認(rèn)是 IQ Client安裝目錄下(C:\IQ15\IQ-15_1\bin32)dbjodbc11.dll文件問題,iAnywhere不是純Java驅(qū)動程序,需要有iAnywhere自己提供的native 驅(qū)動(dbjodbc11.dll),通過此文件和jodbc.jar一塊工作,才能在Java Web程序上運行,在Java Console應(yīng)用程序上不需要此文件。
解決此問題的辦法一:
在Myeclipse下的Window\Perference\Myeclipse\Servers\Tomcat\Path 加入
dbjodbc11.dll文件所在的路徑。
如下圖所示:
解決此問題的辦法二:
把IQ Client安裝目錄下的dbjodbc11.dll文件直接復(fù)制到web服務(wù)器 tomcat-5.0.30\bin目錄下。
配置完成后,重新發(fā)布、啟動。測試Insert成功,問題解決。
|