| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java tools & IDE's > JDBC+PgSQL+Gentoo |
| Автор: Vitaly83 25.9.2007, 20:54 | ||
| ОС: Linux Gentoo Утановлено: PgSQL 8.2.4 JDBC-Postgresql 8.2 ant (полностью) Не получается загрузить драйвер. Вылетает на
Что нужно прописать и где? Нужно просто получить данные из базы. |
| Автор: Tony 25.9.2007, 23:28 | ||
А 4то вылетает? Летать может многое |
| Автор: Vasay 26.9.2007, 00:50 |
| Это J2EE или J2SE? Файл коннектор в нужное место положил? |
| Автор: Alexandr87 26.9.2007, 06:33 |
| В CLASSPATH путь до jar прописали? echo $CLASSPATH export CLASSPATH=$CLASSPATH:/opt/jlibs/...(путь до jar) |
| Автор: Vitaly83 26.9.2007, 07:49 | ||||||
2 Tony
Вылетал с ClassNotFoundException из блока try 2 Vasay
С этим труднее. С Java занимаюсь пару недель, да и то когда бывает время. Просто нужно было дописать одну прогу. Сейчас они хавает данные с stdin'а. Нужно сделать, чтобы она обращалась напрямую в базу. Короче, установлен вроде J2SE. Что за файл коннектор я не понял. Можно подробнее. Может и не столь важно, но ещё установлено jdk-1.4.2.03 (использую) есть и jdk-1.5.0.11 2 Alexandr87
делал export "CLASSPATH=/usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar:${CLASSPATH}" так же сделан export для переменных JAVA_HOME - папка, куда установлена прога JAVACMD - путь к бинарнику (java) ANT_HOME - куда установлен ant в PATH добавлено и bin ANT'а |
| Автор: Vasay 26.9.2007, 10:52 |
| Тебе нужен драйвер коннектор к бд. Взять можно здесь: http://jdbc.postgresql.org/ И положить его в CLASSPATH (обычно кладут в ./jdk/lib/ext) Удачи! |
| Автор: Vitaly83 26.9.2007, 13:01 |
| Я же писал: export "CLASSPATH=/usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar:${CLASSPATH}" jdbc-postgresql.jar - это он. Путь к нему прописан в CLASSPATH. Но драйвер так и не видит. Может что ещё прописать? http://forum.vingrad.ru/html/emoticons/pack/dash1.gif |
| Автор: Vasay 26.9.2007, 13:49 |
| Сори, не заметил. Попробуй, положить его в ./jdk/lib/ext И посмотри, что у тебя с правами на этот файл. |
| Автор: Vitaly83 26.9.2007, 14:57 | ||||
Не совсем понял, где это именно. С какой папки начинается эта ветвь (./)? Хотя это не имеет значения. Месторасположение файла я указываю. Без разницы где.
Права: Владелец: чтение/запись Остальные: чтение Этого вполне достаточно. Доступ к файлу есть. |
| Автор: Vitaly83 26.9.2007, 16:52 |
| И ещё, только обратил внимание: он использует не org.postgresql.Driver, java.sql.Driver Не знаю, на сколько это важно, но упомянуть стоит. |
| Автор: Vasay 26.9.2007, 21:43 | ||||||
Кто использует?
с той папки, где у тебя лежит jdk... т.е. папка с jdk и в ней /lib/ext Почему прошу сделать это - так на всякий случай, чтоб убедится что не в CLASSPATH проблема. после этого, такой код должен заработать....
если не заработал, то ты, видать используешь не то jdk в который положил драйвер (ты раньше писал что он у тебя не один.) |
| Автор: Vitaly83 27.9.2007, 09:54 |
| Понятно. Не заработало. Т.о. получается, что используется не тот драйвер. Ладно где прописывать? |
| Автор: Vasay 27.9.2007, 10:43 | ||
При таком вызове использоваться не может Опиши по пунктам, что делаешь, как запускаешь программу. Единственное, что мне еще приходит в голову - что драйвер скомпилен под более старшую версию jre. п.с. когда я писал про "/lib/ext" я имел ввиду не jdk а jre - в случае с jdk, jre лежит в папке с jdk, т.е. путь должен быть таким: [папка с jdk]/jre/lib/ext |
| Автор: Vitaly83 27.9.2007, 13:55 | ||||
Установлено: /opt/blackdown-jdk-1.4.2.03 /usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar в папке jdk в ./jre/lib/ext сделан симлинк на jar файл программу запускаю так: java -jar TestDB.jar Вот код:
на этот код: Class.forName("org.postgresql.Driver").newInstance(); он выдавал ошибку при компиляции. не знал такой функции newInstance На счёт других jdk (не я устанавливал, просто были в образе) в папке /opt/sun-jdk-1.5.0.11. В /usr/share/java-config-2/vm два файла для обоих версий. |
| Автор: Vasay 27.9.2007, 15:54 |
| Так, давай ка попробуем воспользоваться SUN jdk, лучше всего скачай последнюю версию с java.sun.com. Вполне возможно blackdown-jdk бинарно не совместим с тем jdk которым компилили драйвер (а компилили думаю SUN-новским) что выдает java -version? |
| Автор: Vitaly83 28.9.2007, 06:37 | ||
$ java -version
М-да, ожидал другого результата. Это sun'овский jdk. |
| Автор: Alexandr87 28.9.2007, 07:31 |
| оффтоп Vitaly83, - для переключения между установленными джавками - man java-config |
| Автор: Vitaly83 28.9.2007, 10:27 |
| ЗАРАБОТАЛО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Всего-то файл поместил JAR в /jre/lib/ext (спасибо Vasay) java, используемого по-умолчанию. Просто, когда я писал прогу для телефона, то использовал blackdown, а по-умолчанию у меня был sun. Вот и все проблемы. |
| Автор: Alexandr87 28.9.2007, 10:51 |
| значица CLASSPATH прописывали неправильно. |