如何解决将Java连接到SQLAnywhere数据库时出错?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (181)

我正在尝试将java程序连接到数据库。我在构建路径中有sajdbc4.jar并且之前有效,但是现在我在尝试建立连接时不断收到此错误:

线程“main”中的异常java.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的java.util.ServiceLoader $ LazyIterator.nextService(Unknown Source)。java.util.ServiceLoader上的ServiceLoader $ LazyIterator.next(未知来源)java.sql.DriverManager上的$ 1.next(未知来源)java.sql.DriverManager上$ 2.run(未知来源)java中的$ 2.run(未知来源)位于java.sql.DriverManager的java.sql.DriverManager.loadInitialDrivers(未知来源)的.security.AccessController.doPrivileged(本机方法)。(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");

扫码关注云+社区

领取腾讯云代金券