Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Установка mysql-connector-java


Автор: ZMaximI 5.6.2007, 16:40
Добрый день.

Помогите, пожалуйста, решить маленькую проблему.
Я раньше не занимался J2EE ...
Подскажите, пожалуйста, как правильно установить mysql-connector-java.jar ?
И попутный вопрос - где настраивается JDBC ?

Большое спасибо.

Прошу прощения, возможно, за глупые вопросы, просто я до сегоднешнего дня не занимался продуктами JAVA, а на работе возникла СРОЧНАЯ, ОСТРАЯ необходимость.

Еще раз, спасибо.

Автор: diablero 5.6.2007, 17:41
Загрузка jar'а. 

Код

public class ClassPathHacker {    
private static final Class[] parameters = new Class[]{URL.class};    
public static void addFile(String s) throws IOException {    
    File f = new File(s);    
    addFile(f);    
}
public static void addFile(File f) throws IOException {    
    addURL(f.toURL());    
}
public static void addURL(URL u) throws IOException {    
    URLClassLoader sysloader = (URLClassLoader)ClassLoader.getSystemClassLoader();    
    Class sysclass = URLClassLoader.class;    
    try {    
        Method method = sysclass.getDeclaredMethod("addURL",parameters);    
        method.setAccessible(true);    
        method.invoke(sysloader,new Object[]{ u });    
     } catch (Throwable t) {    
        t.printStackTrace();    
        throw new IOException("Error, could not add URL to system classloader");    
     }
}
}


Пример подключения
Код

public static void connect(String host, String user, char password[]) throws Exception {

        Properties connInfo = new Properties();
        connInfo.put("useUnicode", "true");
        connInfo.put("characterEncoding", "Cp1251");
        connInfo.put("user", user);
        connInfo.put("password", String.valueOf(password));
        String ConnectInit = "jdbc:mysql://"+host+":3306/bdname";

        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connection = DriverManager.getConnection(ConnectInit, connInfo);
 }

Автор: LSD 6.6.2007, 12:00
Цитата(diablero @  5.6.2007,  18:41 Найти цитируемый пост)
Загрузка jar'а.
...

Не повторяйте это дома!
Потому как стоит серверу приложений применить нестандартный загрузчик классов или установить свой SecurityManager, как этот код перестанет работать.

Чтобы подключить библиотеку к твоему модулю надо положить ее в CLASSPATH данного модуля: http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer.html, или в CLASSPATH сервера приложений (но этот вариант хуже).
Хотя если ты спользуешь какую нибудь IDE, то она сама должна делать war/ear с включенными библиотеками.

Автор: Genady 26.6.2009, 23:49
Здравствуйте !
Т.К. моя проблема аналогична вопросу этого топика, надеюсь на быстрое её решение.
Я пытаюсь установить mysql-connector/j- но безуспешно, после прогона теста на соединение Java к MySql выдаётся сообщение:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

На данный момент я прочитал немало документации как на русском так и на английском, и обратил внимание что многие столкнулись с данной проблемой.
  За ранее благодарен smile 
Win XP

CLASSPATH

.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;

C:\Program Files\Java\jre6\lib\ext\mysql-connector-java- 5.1.7-bin.jar

Path
%SystemRoot%\system32;%SystemRoot%; %SystemRoot%\System32\Wbem;
C:\ProgramFiles\QuickTime\QTSystem\ ;C:\strawberry\c\bin;C:\strawberry\ perl\bin;
C:\Program Files\MySQL\MySQL Server 5.1\bin;
C:\Program Files\Common Files\Easysoft\Shared\;
C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.1.7-bin.jar

В C:\Program Files\Java есть jre6, jre1.6.0_03 и jdk1.6.0_03

MySql server 5.1, работает как серверная так и клиентская часть. 

Автор: Samotnik 27.6.2009, 00:16
Цитата(Genady @  26.6.2009,  23:49 Найти цитируемый пост)
На данный момент я прочитал немало документации как на русском так и на английском,

http://dev.mysql.com/doc/refman/5.0/en/connector-j-versions.html в ваш список документации входило ? 

Автор: Genady 27.6.2009, 10:54
 Samotnik - я и это читал, но буду вам благодарен и за другие ссылки smile 

Автор: LSD 28.6.2009, 20:08
Genady, как запускаешь программу, из IDE или из командной строки?

Автор: Genady 30.6.2009, 01:09
LSD - из командной строки не удаётся запустить, запускаю я с IDE Jcreator:
Код

package ru.javatalks.faq.db;

/**
 * 14.06.2009 16:08:32
 *
 * @author ctapobep
 */
public class CreatingConnection {

    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Driver loading success!");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }
}

P/S Только что переустановил Java, а то в директории Java сидело 2 разных Jre.Я  по постам заметил что у пользователей с аналогичной проблемой - в директории Java  по 2 а то и по три Jre разных версий - это грубая ошибка, думаю этот предпринятый мною шаг приблизит меня к решению проблемы. smile 

Автор: LSD 30.6.2009, 12:08
Не уверен насчет Jcreator, но обычно IDE игнорируют системные установки CLASSPATH. И CLASSPATH для каждого проекта конфигурируется в настройках. Так что ищи где в настройках можно добавить библиотеку.

Автор: Samotnik 30.6.2009, 13:10
Genady, в ЖеКреаторе есть настройки класспаса !  smile  
Ищите внимательнее  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)