Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JDBC+PgSQL+Gentoo, Чтобы работало 
:(
    Опции темы
Vitaly83
Дата 25.9.2007, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



ОС: Linux Gentoo
Утановлено:
PgSQL 8.2.4
JDBC-Postgresql 8.2
ant (полностью)

Не получается загрузить драйвер.
Вылетает на
Код
Class.forName("org.postgresql.Driver");


Что нужно прописать и где?

Нужно просто получить данные из базы.
PM MAIL   Вверх
Tony
Дата 25.9.2007, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 3
Всего: 12



Код

Вылетает на

А 4то вылетает? Летать может многое  smile. stack trace в студию.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Vasay
Дата 26.9.2007, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 5
Всего: 73



Это J2EE или J2SE?
Файл коннектор в нужное место положил?


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Alexandr87
Дата 26.9.2007, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



В CLASSPATH путь до jar прописали?

echo $CLASSPATH
export CLASSPATH=$CLASSPATH:/opt/jlibs/...(путь до jar)
PM Jabber   Вверх
Vitaly83
Дата 26.9.2007, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



2 Tony
Цитата

А 4то вылетает? Летать может многое  smile. stack trace в студию.

Вылетал с ClassNotFoundException из блока try

2 Vasay
Цитата

Это J2EE или J2SE?
Файл коннектор в нужное место положил?

С этим труднее. С Java занимаюсь пару недель, да и то когда бывает время.
Просто нужно было дописать одну прогу. Сейчас они хавает данные с stdin'а. Нужно сделать, чтобы она обращалась напрямую в базу.
Короче, установлен вроде J2SE. Что за файл коннектор я не понял. Можно подробнее.
Может и не столь важно, но ещё установлено
jdk-1.4.2.03 (использую)
есть и
jdk-1.5.0.11

2 Alexandr87
Цитата

В CLASSPATH путь до jar прописали?

echo $CLASSPATH
export CLASSPATH=$CLASSPATH:/opt/jlibs/...(путь до jar)

делал
export "CLASSPATH=/usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar:${CLASSPATH}"
так же сделан export для переменных
JAVA_HOME - папка, куда установлена прога
JAVACMD - путь к бинарнику (java)
ANT_HOME - куда установлен ant
в PATH добавлено и bin ANT'а

PM MAIL   Вверх
Vasay
Дата 26.9.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 5
Всего: 73



Тебе нужен драйвер коннектор к бд. Взять можно здесь: http://jdbc.postgresql.org/

И положить его в CLASSPATH (обычно кладут в ./jdk/lib/ext)


Удачи!


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vitaly83
Дата 26.9.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Я же писал:

export "CLASSPATH=/usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar:${CLASSPATH}"

jdbc-postgresql.jar - это он. Путь к нему прописан в CLASSPATH.

Но драйвер так и не видит. Может что ещё прописать?
http://forum.vingrad.ru/html/emoticons/pack/dash1.gif
PM MAIL   Вверх
Vasay
Дата 26.9.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 5
Всего: 73



Сори, не заметил.

Попробуй, положить его в ./jdk/lib/ext

И посмотри, что у тебя с правами на этот файл.


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vitaly83
Дата 26.9.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Цитата

Попробуй, положить его в ./jdk/lib/ext


Не совсем понял, где это именно.
С какой папки начинается эта ветвь (./)?
Хотя это не имеет значения. Месторасположение файла я указываю. Без разницы где.

Цитата

И посмотри, что у тебя с правами на этот файл.


Права:
Владелец: чтение/запись
Остальные: чтение

Этого вполне достаточно. Доступ к файлу есть.
PM MAIL   Вверх
Vitaly83
Дата 26.9.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



И ещё, только обратил внимание:
он использует не org.postgresql.Driver, java.sql.Driver
Не знаю, на сколько это важно, но упомянуть стоит.
PM MAIL   Вверх
Vasay
Дата 26.9.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 5
Всего: 73



Цитата

он использует не org.postgresql.Driver, java.sql.Driver


Кто использует?

Цитата

Не совсем понял, где это именно.
С какой папки начинается эта ветвь (./)?


с той папки, где у тебя лежит jdk... т.е. папка с jdk и в ней /lib/ext

Почему прошу сделать это - так на всякий случай, чтоб убедится что не в CLASSPATH проблема.

после этого, такой код должен заработать....
Код

        try {
            Class.forName("org.postgresql.Driver").newInstance();
        } catch (Exception ex) {
            System.out.println("error! jdbc - load.");
        }


если не заработал, то ты, видать используешь не то jdk в который положил драйвер (ты раньше писал что он у тебя не один.)


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vitaly83
Дата 27.9.2007, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Понятно.
Не заработало.
Т.о. получается, что используется не тот драйвер.
Ладно где прописывать?
PM MAIL   Вверх
Vasay
Дата 27.9.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 5
Всего: 73



Цитата

не тот драйвер

При таком вызове использоваться не может

Опиши по пунктам, что делаешь, как запускаешь программу.

Единственное, что мне еще приходит в голову - что драйвер скомпилен под более старшую версию jre.


п.с. когда я писал про "/lib/ext" я имел ввиду не jdk а jre - в случае с jdk, jre лежит в папке с jdk, т.е. путь должен быть таким: [папка с jdk]/jre/lib/ext


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vitaly83
Дата 27.9.2007, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Цитата

Опиши по пунктам, что делаешь, как запускаешь программу.


Установлено:
/opt/blackdown-jdk-1.4.2.03
/usr/share/jdbc-postgresql/lib/jdbc-postgresql.jar

в папке jdk в ./jre/lib/ext сделан симлинк на jar файл

программу запускаю так:
java -jar TestDB.jar

Вот код:
Код

        try {
            // Here we load the JDBC driver.
            Class.forName("org.postgresql.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("Unable to load driver!");
            return;
        }

на этот код: Class.forName("org.postgresql.Driver").newInstance();
он выдавал ошибку при компиляции.
не знал такой функции newInstance

На счёт других jdk (не я устанавливал, просто были в образе) в папке /opt/sun-jdk-1.5.0.11.

В /usr/share/java-config-2/vm два файла для обоих версий.
PM MAIL   Вверх
Vasay
Дата 27.9.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 5
Всего: 73



Так, давай ка попробуем воспользоваться SUN jdk, лучше всего скачай последнюю версию с java.sun.com. 

Вполне возможно blackdown-jdk бинарно не совместим с тем jdk которым компилили драйвер (а компилили думаю SUN-новским)

что выдает java -version?

Это сообщение отредактировал(а) Vasay - 27.9.2007, 15:56


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vitaly83
  Дата 28.9.2007, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



$ java -version
Цитата

java version "1.5.0_11"
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot™ Client VM (build 1.5.0_11-b03, mixed mode)

М-да, ожидал другого результата.
Это sun'овский jdk.
PM MAIL   Вверх
Alexandr87
Дата 28.9.2007, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



оффтоп
Vitaly83,   - для переключения между установленными джавками - man java-config
PM Jabber   Вверх
Vitaly83
Дата 28.9.2007, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



ЗАРАБОТАЛО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Всего-то файл поместил JAR в /jre/lib/ext  (спасибо Vasay)   java, используемого по-умолчанию.
Просто, когда я писал прогу для телефона, то использовал blackdown, а по-умолчанию у меня был sun. Вот и все проблемы.

smile  smile 
PM MAIL   Вверх
Alexandr87
Дата 28.9.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



значица CLASSPATH прописывали неправильно.
PM Jabber   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.