IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
Scalder
- Сообщения: 5
- Зарегистрирован: 27 окт 2004, 08:27
Сообщение
Scalder » 05 авг 2005, 10:30
Добрый день!
Пробую собрать примерчик по работе со встраиваемой БД и вот не получаеться - может, есть варианты как решить проблемку?
Код: Выделить всё
Class.forName("org.firebirdsql.jdbc.FBDriver");
conn = DriverManager.getConnection("jdbc:firebirdsql:embedded:/lgot.fdb");
На, что эта собака ругаеться так:
Код: Выделить всё
java.lang.UnsatisfiedLinkError: no jaybird in java.library.path
Как я нашел в интернете java.library.path по умолчанию указывает на системную переменную path по которой, в данном случае, программа не может найти fbembed.dll.
Очень странно т.к. я закидывал её по этим путям.
И вроде с начала программа должна поглядеть в текущей папке, где эта длл тоже лежит.
Стоит задача - никуда это дело не закидывать и ручками не прописывать, а чтоб просто все это дело лежало в папке программы.
p.s.
С System.loadLibrary - тоже игрался - не помогло.
-
eugeney
- Сообщения: 79
- Зарегистрирован: 29 окт 2004, 18:51
Сообщение
eugeney » 05 авг 2005, 10:52
Scalder писал(а):Добрый день!
Пробую собрать примерчик по работе со встраиваемой БД и вот не получаеться - может, есть варианты как решить проблемку?
Для работы с native и embedded используется JNI код, который лежит в билиотеке jaybird.dll верся 1.5 и jaybird2.dll соотвественно для 2-бетта. Вот этот файл и должен быть включен в java.library.path.
Далее судя по вот этому
Код: Выделить всё
conn = DriverManager.getConnection("jdbc:firebirdsql:embedded:/lgot.fdb");
у тебя /lgot.fdb лежит в корне диска где стоит JVM? Рекомендую использовать пути типа
Код: Выделить всё
conn = DriverManager.getConnection("jdbc:firebirdsql:embedded:c:/MyFolder/lgot.fdb");
Или
Код: Выделить всё
conn = DriverManager.getConnection("jdbc:firebirdsql:embedded:/home/usr_name/MyFolder/lgot.fdb");
Для linux.
-
Scalder
- Сообщения: 5
- Зарегистрирован: 27 окт 2004, 08:27
Сообщение
Scalder » 05 авг 2005, 11:44
А как из программы можно работать с java.library.path?
-
eugeney
- Сообщения: 79
- Зарегистрирован: 29 окт 2004, 18:51
Сообщение
eugeney » 05 авг 2005, 12:33
Scalder писал(а):А как из программы можно работать с java.library.path?
Из программы никак, только в качестве параметров в момент запуска
-
itmaster
- Сообщения: 1
- Зарегистрирован: 23 июл 2006, 18:37
Сообщение
itmaster » 23 июл 2006, 18:45
А как из программы можно работать с java.library.path?
Код: Выделить всё
final Properties systemProperties = System.getProperties();
final String pathKey = "java.library.path";
final String newPathValue = properties.getProperty(pathKey) + ";C:\Program files\My Program\;";
properties.setProperty(pathKey, newPathValue);
Думаю идея понятна. =)
-
eugeney
- Сообщения: 79
- Зарегистрирован: 29 окт 2004, 18:51
Сообщение
eugeney » 24 июл 2006, 17:28
itmaster писал(а):Думаю идея понятна. =)
Ага. Тока не рабочая эта идея ну ни как
