我正在尝试将java程序连接到数据库。我在构建路径中有sajdbc4.jar,它以前是有效的,但现在当我尝试建立连接时,我一直收到这个错误:
异常在线程"main“java.lang.UnsatisfiedLinkError中: no dbjdbc12 in java.library.path at java.lang.ClassLoader.loadLibrary(未知源) at java.lang.Runtime.loadLibrary0(未知源) at java.lang.System.loadLibrary(未知源) at sybase.jdbc4.sqlanywhere.IDriver.try_load(IDriver.java:455) at sybase.jdbc4.sqlanywhere.IDriver.(IDriver.java:396) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown源)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown源)在java.lang.reflect.Constructor.newInstance(Unknown源)在java.util.ServiceLoader$LazyIterator.nextService(Unknown源)在java.util.ServiceLoader$LazyIterator.next(Unknown源)在java.lang.Class.newInstance)在java.util.ServiceLoader$1.Next(未知源)在java.sql.DriverManager$2.run(未知源)在java.sql.DriverManager$2.run(未知源)在java.security.AccessController.doPrivileged(Native方法)在java.sql.DriverManager.loadInitialDrivers(Unknown源码)在java.sql.DriverManager(未知源)在Main.main(Main.java:26)
有人能帮帮我吗?在网上找不到关于这个问题的任何东西。
发布于 2015-09-20 04:28:04
对于windows,请在您的计算机中查找此文件:
dbjdbc12.dll
对于linux,请查找以下文件:
libdbjdbc12.so
使用命令行选项将此文件的位置放在java.library.path上:
java -Djava.library.path=DIRECTORYWITHDLL ...
或者在代码中使用System.setProperty:
System.setProperty("java.library.path","DIRECTORYWITHDLL");
发布于 2020-08-27 03:28:43
对于Linux,您需要使用以下命令将dbjdbc12.so添加到java.library.path:
导出LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/some/path/that/contain/dbjdbc12.so
这对于dbjdbc16也是一样的。因为,sybase.jdbc4驱动程序需要此文件。请参阅- https://blogs.sap.com/2014/05/02/connecting-to-sql-anywhere-using-jdbc-2/#:~:text=jar%20is%20in%20the%20classpath,Connection%20con%20%3D%20DriverManager。
同样,对于windows,请添加dbjdbc12.dll文件。
https://stackoverflow.com/questions/32672407
复制相似问题