将Java连接到SQL Anywhere数据库时出错
我正在尝试将java程序连接到数据库。 我在构建路径中有sajdbc4.jar并且之前有效,但是现在我在尝试建立连接时不断收到此错误:
线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:java.lang.ClassLoader.loadLibrary(未知源)中的java.library.path中没有dbjdbc12,位于java.lang.System的java.lang.Runtime.loadLibrary0(未知源)位于sybase.jdbc4.sqlanywhere.IDriver.try_load(IDriver.java:455)的.loadLibrary(未知来源)at sybase.jdbc4.sqlanywhere.IDriver。(IDriver.java:396)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) )sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)at java.lang.reflect.Constructor.newInstance(Unknown Source)at java.lang.Class.newInstance(Unknown Source) )java.util.ServiceLoader上的java.util.ServiceLoader $ LazyIterator.nextService(未知源)java.util.ServiceLoader上的$ LazyIterator.next(未知源)$ 1.next(未知来源)java.sql.DriverManager $ 2。在java.security.AccessController上的java.sql.DriverManager $ 2.run(未知来源)上运行(未知来源) .doPrivileged(本机方法)位于java.sql.DriverManager的java.sql.DriverManager.loadInitialDrivers(未知来源)。(Main.java:26)中的(未知来源)
有人可以帮帮我吗? 在网上找不到任何重要的问题。
对于Windows,在您的计算机中找到此文件:
dbjdbc12.dll
对于linux找到这个文件:
libdbjdbc12.so
使用命令行选项将此文件的位置放在java.library.path上:
java -Djava.library.path=DIRECTORYWITHDLL ...
或者在代码中使用System.setProperty:
System.setProperty("java.library.path","DIRECTORYWITHDLL");