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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Опять 25. проблема подключения driver, Неординарная ситуация 
V
    Опции темы
x3bytes
Дата 12.11.2006, 04:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Beaver



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

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



вот код программы:
Код

/*
 * Assignment2.java
 *
 * Allows several instractions a PostgreSQL database.
 * The second assignment for CSC343 Fall 2006
 */

package assignment2;

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
/**
 *
 * @author Oleksiy Khozyayenok
 */
public class Assignment2 {
    
    private Connection connection = null;// connection to DB
    
    // my variables
    public final static String password = "postgres";
    public final static String username = "postgres";
    public final static String url = "jdbc:postgresql://localhost/sample_db";
    
    // Constructor - Identifies the PostgreSQL driver C:\Program Files\Java\jre1.5.0_06\lib\ext\QTJava.zip

    public Assignment2() {
        try{
            Class.forName("org.postgresql.Diver");
        } catch(ClassNotFoundException cnfe){
            System.out.println("Couldn't find the driver!");
         
            System.out.println(System.getenv("CLASSPATH"));
            System.out.println("Stack trace of an error is: ");
            cnfe.printStackTrace();
            System.exit(1);
        }
    }
    
    // Connection to the DB with specific username and password
    public boolean connectDB(String url, String username, String password){
        connection = null;
        try{
            connection = DriverManager.getConnection(url, username, password);
        } catch(SQLException se){
            System.out.println("Couldn't connect! Stack trace of an error is: ");
            se.printStackTrace();
            System.exit(1);
        }
        if(connection != null) {
            System.out.println("Connection is established!");
            return true;
        } else{
            System.out.println("No connection! Check username and password or url.");
            return false;
        }
    }
    
    // Closing connection to the DB
    public boolean disconnectDB(){
        try{
            connection.close();
        }
        catch(SQLException se){
            System.out.println("Couldn't close connection!");
            System.out.println("Stack trace of an error is: ");
            se.printStackTrace();
            return false;
        }     
        return true;
    }
    
    public static void main(String[] args) {
        Assignment2 a2 = new Assignment2();
        //a2.connectDB(url, username, password);
        //a2.disconnectDB();
    }
    
}



при запуске выдаётся ошибка:
Код

compile:
run:
Couldn't find the driver!
./;D:\PGdata\postgresql-8.1-405.jdbc3.jar
Stack trace of an error is: 
java.lang.ClassNotFoundException: org.postgresql.Diver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at assignment2.Assignment2.<init>(Assignment2.java:30)
        at assignment2.Assignment2.main(Assignment2.java:75)
Java Result: 1
BUILD SUCCESSFUL (total time: 7 seconds)


мой driver лежит в D:\PGdata\postgresql-8.1-407.jdbc3.jar .

В Environments System variables
CLASSPATH = ./;D:\PGdata\postgresql-8.1-405.jdbc3.jar
Local Variables(для юзера)
CLASSPATH = ./;D:\PGdata\postgresql-8.1-405.jdbc3.jar

Я уже пытался скопировать этот драйвер(jar файл) в jdk1.5.0_09/jre/lib/ext/
и в jre1.5.0_09/jre/lib/ext/

Я кинул этот драйвер в папку с приложением во все дыры.

Я также пользуюсь NetBeans 5.5 и я заходил в Runtime->Databases->Driver и добовлял туда драйвер укзазывая его путь к файлу jar
Также я пытался в NetBeans - Tools->Library Manager->New Library... (создал PSQL library) добавил туда этот jar файл. И подключил эту библиотеку в проекте к Libraries.

Если запустить мой класс через cmd
java -classpath "D:\PGdata\postgresql-8.1-407.jdbc3.jar;" Asignment2.java
Будет ошибка выведена
Exception in thread "main" java.lang.NoClassDefFoundError: Assignment2/java

Вобщем я уже всё перепробовал и перерыл кучу всего, но так и не могу запустить программу.
Что мне делать? Что я не так делаю?

Это сообщение отредактировал(а) x3bytes - 12.11.2006, 04:30
PM MAIL   Вверх
powerOn
Дата 12.11.2006, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Скачал драйвер отсюда. (    8.1-407 JDBC 3)
Сделал так же:
Цитата(x3bytes @  12.11.2006,  04:08 Найти цитируемый пост)
Также я пытался в NetBeans - Tools->Library Manager->New Library... (создал PSQL library) добавил туда этот jar файл. И подключил эту библиотеку в проекте к Libraries.


Все работает...  smile . Проверь, действительно ли ты подключил библиотеку к проекту, и ту ли библиотеку. 

 smile И еще, в своем посте, ты пишешь то: postgresql-8.1-407.jdbc3.jar, то: postgresql-8.1-405.jdbc3.jar ... может с именами что не так?



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
check
Дата 12.11.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(x3bytes @  12.11.2006,  04:08 Найти цитируемый пост)
Class.forName("org.postgresql.Diver");


PM MAIL   Вверх
x3bytes
Дата 12.11.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Beaver



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

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



To check:
Class.forName("org.postgresql.Diver");

А что я разве не так пишу?

To powerOn
Да так и делал.
Даже на форуме нашёл твои слова:
Цитата

Кстати, чтобы подключить его к NetBeans 5.0 заиди в меню tools -> Library Manager.
В появившимся окне нажмина кнопку New Library и введи имя твоей новой библиотеки.
После создания библиотеки, добавь в нее (кнопка Add Jar/Folder) mysql-connector-java-5.0.0-beta-bin.jar. Так ты окончательно создашь библиотеку, содержащую драйвер.
Потом просто подключи её к своему проекту. Для этого в окне Progects щелки правой кнопкой мыши
на папке Libraries и выбери Add Library. В появиввшемся списке библиотек выбирешь свою новоиспеченную библиотеку, и теперь можешь использовать её классы на своё усмотрение. smile 

всё равно не пашет, хоть головой об стену.

то что разные драйвера, это я уже разные пытался подключать.
Вот сейчас создал с нуля приложение.
Код

public class testApp {
    /** Creates a new instance of Main */
    public testApp() {
        try{
            Class.forName("org.postgresql.Diver");
        } catch(ClassNotFoundException cnfe){
            System.out.println("Couldn't find the driver!");

            System.out.println(System.getenv("CLASSPATH"));
            System.out.println("Stack trace of an error is: ");
            cnfe.printStackTrace();
            System.exit(1);
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        testApp ta = new testApp();
        
    }
}

создал и подключил библиотеку (см. выше).
и всё равно не работает. 
PM MAIL   Вверх
check
Дата 12.11.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



x3bytes,  я не знаю как называется драйвер для Postrgesql, с которым ты работаешь,  но мне показалось что в слове Driver пропущена буква "r".


Это сообщение отредактировал(а) check - 12.11.2006, 18:37
PM MAIL   Вверх
x3bytes
Дата 12.11.2006, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Beaver



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

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



Это уже становится интересным.

Переключился в IDEA 6.0
там создал такое же приложение тестовое.
Сделал File-> Settings->Project Settings-> в Global Libraries добавил (уже решил на диск C:\ скопиовать) туда новую projectlibrary  postgresql-8.1-407.jdbc3.jar .

И не работает всё тот же 
Код

Couldn't find the driver!
./;D:\PGdata\postgresql-8.1-405.jdbc3.jar
Stack trace of an error is: 
java.lang.ClassNotFoundException: org.postgresql.Diver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:164)
    at testApp.<init>(testApp.java:14)
    at testApp.main(testApp.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

Process finished with exit code 1


Добавлено @ 18:49 
Какой УЖас!!!  smile   smile   smile 
Сколько программирую У меня ещё ни разу такого не было!
Я просто забыл букву r в слове Driver.

За вчерашний день я перечитал тучу инфы про драйвера, их разновидности, подключение в разных IDE.
У меня уже на компе после этого стоят NetBeans, Eclipse, IDEA.

Спасибо большое check. Я уже сколько не смотрел в код, ну как слепой.
Спасибо powerOn. Я перечитал тучу постов с твоими описаниями к выполнению, всегда очень подробно и понятно пишешь.
PM MAIL   Вверх
powerOn
Дата 12.11.2006, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



заходи еще, и не забывай помечать вопросы как решенные.  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

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

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




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


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

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