2015-09-19 2 views
2

Я пытаюсь подключить Java-программу к базе данных. У меня есть sajdbc4.jar в пути сборки, и она работала, но теперь я получаю эту ошибку, когда я пытаюсь сделать соединение:Ошибка подключения базы данных Java к SQL Anywhere

Exception in thread "main" java.lang.UnsatisfiedLinkError: no dbjdbc12 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at sybase.jdbc4.sqlanywhere.IDriver.try_load(IDriver.java:455) at sybase.jdbc4.sqlanywhere.IDriver.(IDriver.java:396) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at 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) at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source) at java.util.ServiceLoader$LazyIterator.next(Unknown Source) at java.util.ServiceLoader$1.next(Unknown Source) at java.sql.DriverManager$2.run(Unknown Source) at java.sql.DriverManager$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.sql.DriverManager.loadInitialDrivers(Unknown Source) at java.sql.DriverManager.(Unknown Source) at Main.main(Main.java:26)

Может someome пожалуйста помочь мне? Невозможно найти что-либо в этом вопросе в Интернете.

+0

Похоже, что вам не хватает родной библиотеки ('.dll' на Windows,' .so' на Linux) - это что-то помогает? –

+0

'sajdbc4.jar' не является чистым Java-драйвером и требует' dbjdbc12.dll' - как указано в сообщении об ошибке. См. Пункт 5) здесь: http://scn.sap.com/community/sql-anywhere/blog/2014/05/02/connecting-to-sql-anywhere-using-jdbc –

ответ

1

Для окон найти этот файл на вашем компьютере:

dbjdbc12.dll 

Для Linux найти этот файл:

libdbjdbc12.so 

Поместить расположение этого файла на java.library.path либо с помощью команды вариант строки:

java -Djava.library.path=DIRECTORYWITHDLL ... 

или с помощью System.setProperty в коде:

System.setProperty("java.library.path","DIRECTORYWITHDLL"); 
Смежные вопросы