| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Java + Firebird Embedded + JayBird первое подключ. |
| Автор: denixx 18.8.2011, 17:37 | ||
| Я тут надумал перевести мой учебный проект с MySQL на встраиваемую СУБД, которая умеет работать с хранимыми процедурами. Firebird Embedded вроде такое умеет. Но никак не разберусь, что от меня требует JayBird Учебный проект разрабатывался в IDE Eclipse. ОС Win 7 x64. Папка проекта для тестового запуска (создание соединения с БД) находится в D:\Java\Projects\FirebirdEmbedded. Привожу текст тестового подключения
При запуске выводит эксепшн: Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\Java\Projects\FirebirdEmbedded\jaybird21.dll: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at org.firebirdsql.gds.impl.jni.JniGDSImpl.initJNIBridge(JniGDSImpl.java:5 at org.firebirdsql.gds.impl.jni.JniGDSImpl.<clinit>(JniGDSImpl.java:23) at org.firebirdsql.gds.impl.jni.EmbeddedGDSFactoryPlugin.getGDS(EmbeddedGDSFactoryPlugin.java:40) at org.firebirdsql.gds.impl.GDSFactory.getGDSForType(GDSFactory.java:219) at org.firebirdsql.jca.FBManagedConnectionFactory.getGDS(FBManagedConnectionFactory.java:117) at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:125) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at test.Main.main(Main.java:16) Что я делал: Скопировал всё содержимое папки D:\Downloads\Firebird-2.5.0.26074-0_Win32_embed в папку D:\Java\Projects\FirebirdEmbedded. Скопировал всё содержимое папки D:\Downloads\Jaybird-2.1.6JDK_1.6 в папку D:\Java\Projects\FirebirdEmbedded. Создал глобальную переменную "FIREBIRD" с содержимым "D:\Java\Projects\FirebirdEmbedded". Добавил в глобальную переменную "PATH" текст ";D:\Java\Projects\FirebirdEmbedded". Кто может помочь? |
| Автор: LSD 19.8.2011, 14:01 |
| Скачай http://www.dependencywalker.com/ натрави его на jaybird21.dll и посмотри каких зависимостей не хватает. |
| Автор: denixx 19.8.2011, 21:55 |
| Спасибо за совет. Посмотрел, добавил msvcr71.dll в папку с проектом. Всё равно не запускается. Перенёс всё это добро с Win7 x64 в виртуальную машину на Win XP x32. Вроде заработало. Буду выяснять, почему в одной системе не работает, а в другой работает. Поддержка конечно у Firebird та ещё ) Одна русскоязычная группа в гуглгруппах и группы на YahooGroups. |
| Автор: LSD 22.8.2011, 10:58 |
| А JVM и драйвер используется 64-х или 32-х битные? |
| Автор: denixx 22.8.2011, 11:09 |
| Уже всё разрешилось Для тех, кому интересно: http://tech.groups.yahoo.com/group/Firebird-Java/message/10464 Там всё описание проблемы и ответы на вопросы. Вкратце, что было не так: Я использую 64-битную JVM, поэтому и драйвер JayBird мне нужен был с поддержкой x64 архитектуры. Мне пришлось скомпилировать из исходников ещё не вышедший jaybird-full-2.2.0.jar, подключить библиотеку jaybird22_x64.dll, и ещё добавить в classpath antlr-runtime-3.0.1.jar (который я нашёл просто в гугле). |