Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
12 / 12 / 5
Регистрация: 10.09.2009
Сообщений: 261

Не могу подключиться к базе данных

04.08.2012, 12:48. Показов 4652. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Я новичок, никогда с бд в java не работал, делал все по документации, но подключиться не получается.
Вот что Я делал.
1. Установил MySql.
2. Скачал mysql-connector-java-5.1.21.
3. В переменных среды прописал CLASSPATH=c:\Program Files\Java\jdk1.7.0\class\mysql-connector-java-5.1.21-bin.jarc:\Program Files\Java\jdk1.7.0\class\mysql-connector-java-5.1.21-bin.jar
4. Написал код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Connection connection;
        try {
            String driverName = "com.mysql.jdbc.Driver"; 
 
            try {
                Class.forName(driverName);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
 
            // Create a connection to the database
            String serverName = "localhost";
            String mydatabase = "test";
            String url = "jdbc:mysql://" + serverName + "/" + mydatabase;
            String username = "root";
            String password = "root";
 
            connection = DriverManager.getConnection(url, username, password);
            System.out.println("is connect to DB" + connection);
 
            connection.close();
        } // end try
        catch (SQLException e) {
            e.printStackTrace();
            // Could not connect to the database
        }
Код не компилируется, выдает ошибку:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at ConnectionToDataBase.main(ConnectionToDataBase.java:17)
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/test
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at ConnectionToDataBase.main(ConnectionToDataBase.java:29)
mysql работает правильно Я могу к нему подключиться из РНР, но из java не получается, Я так понимаю Я что то упустил и чего то не сделал, поэтому и не находит драйвер и не работает.
Подскажите пожалуйста почему может не работать, что еще нужно сделать что бы java увидела mysql драйвер и смогла подключить его?

Добавлено через 14 часов 37 минут
Разобрался, сделал через eclipse.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.08.2012, 12:48
Ответы с готовыми решениями:

Не могу подключиться к базе данных H2
Всем привет, прошу помочь в решении проблемы! Уже как только не делала, никак не получается. Я подключила к своему проекту базу...

Не могу подключиться к базе данных
Не могу подключиться к бд на elephantsql.com Код package postgresqlconnect; import java.sql.*; public class connect extends config...

Как подключиться к базе данных MySQL8?
Итак, имею базу данных, Название схемы user Пользователь root Пароль banana Пишу следующий код: import java.sql.Connection; ...

7
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
06.08.2012, 10:53
Цитата Сообщение от Hacker_ Посмотреть сообщение
CLASSPATH=c:\Program Files\Java\jdk1.7.0\class\mysql-connector-java-5.1.21-bin.jarc:\Program Files\Java\jdk1.7.0\class\mysql-connector-java-5.1.21-bin.jar
1. А Вы два jar-файла не хотите точкой с запятой разделить, вместо того, чтобы слитно их писать?
2. Вы уверены, что на пробелы в classpath JVM отреагирует хорошо?
2
3 / 3 / 0
Регистрация: 05.05.2012
Сообщений: 20
31.08.2012, 08:34
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DBWork;
 
/**
 *
 * @author root
 */
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
 
public class mySQLProvider {
 
    private String DriverName = "org.gjt.mm.mysql.Driver"; // MySQL MM JDBC driver;
//для конекта к БД
    private Connection Connect;
    private Statement Stat;
    private ResultSet Res;
 
    public int getResLength(ResultSet res) throws SQLException {
        res.last();
        int rr = res.getRow();
        res.beforeFirst();
        return rr;
    }
//параметры конекта
    private String Path = "путь к бд включая ip";
    private String UserName = "ваш пользователь";
    private String UserPas = "и его пароль";
///создание соединения с БД
 
    public String ConnectDB() {
        try {
            Class.forName(this.DriverName);
        } catch (ClassNotFoundException ex) {
            return ex.toString();
        }
        String err = setConnect(this.Path, this.UserName, this.UserPas);
        if (err != null) {
            return "er2" + err;
        }
 
        err = setStat(this.Connect);
        if (err != null) {
            return err;
        }
 
        return "ok";
    }
///закрытие соединения с бд
 
    public String CloseDB() {
        if (this.Connect == null) {
            return null;
        } else {
            try {
                this.Connect.close();
                this.Connect = null;
                return null;
            } catch (SQLException ex) {
                return ex.toString();
            }
        }
    }
    //выполняем запрос к бд, запрос select
 
    public ResultSet executeQuery(String strSql) throws SQLException {
        setStat(this.Connect);
        
        try {
            return this.Stat.executeQuery(strSql);
        } catch (SQLException ex) {
          throw  ex;
         
        }
    }
 
    public String executeQuery1(String strSql) {
        setStat(this.Connect);
        try {
 
            this.Stat.executeQuery(strSql);
            return "ok";
        } catch (SQLException ex) {
            return ex.toString();
        }
    }
    public String executeUpdate(String strSql) throws SQLException {
            setStat(this.Connect);
        try {
 
            this.Stat.executeUpdate(strSql);
            return "0";
        } catch (SQLException ex) {
            throw ex;
        }
    }
/////set - get методы
 
    public String setConnect(String url, String UseName, String UsePas) {
        Properties properties = new Properties();
        properties.setProperty("user", UseName);
        properties.setProperty("password", UsePas);
        properties.setProperty("useUnicode", "true");
        properties.setProperty("characterEncoding", "cp1251");
 
        try {
            this.Connect = (Connection) DriverManager.getConnection("jdbc:mysql:" + url, properties);
        } catch (SQLException ex) {
            return ex.toString();
        }
        return null;
    }
 
    public Connection getConnect() {
        return this.Connect;
    }
 
    public String setStat(Connection conn) {
        try {
            this.Stat = (Statement) conn.createStatement();
        } catch (SQLException ex) {
            return ex.toString();
        }
        return null;
    }
 
    public Statement getStat() {
        return this.Stat;
    }
 
    public void setPath(String URl) {
        this.Path = URl;
    }
 
    public String getPath() {
        return this.Path;
    }
 
    public void setUserName(String Name) {
        this.UserName = Name;
    }
 
    public String getUserName() {
        return this.UserName;
    }
 
    public void setUserPas(String Pas) {
        this.UserPas = Pas;
    }
 
    public String getUserPas() {
        return this.UserPas;
    }
}
Добавлено через 51 секунду
Ну у меня так работает. хотя лучше по моему через hibernete делать.
0
16 / 16 / 5
Регистрация: 17.05.2012
Сообщений: 124
03.09.2012, 22:21
Цитата Сообщение от XelMed Посмотреть сообщение
хотя лучше по моему через hibernete делать.
ну это еще бабка надвое сказала... у меня при частом деплое на Tomcat с hibernatom постоянно вылетает эксепшн OutOfMemory, после чего приходилось переускать томкат или вообще выходить из NetBeans. очень геморно ) плюс у hibernate время холодного запуска превосходит пределы разумного....
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
03.09.2012, 22:41
Цитата Сообщение от vrodnenok Посмотреть сообщение
Tomcat с hibernatom постоянно вылетает эксепшн OutOfMemory
это означает что ваши Энтити с утечкой памяти, рекомендую проверить, так как у всего человечества этот самый хибернейт работает без всяческих оутов.
0
16 / 16 / 5
Регистрация: 17.05.2012
Сообщений: 124
03.09.2012, 23:10
Цитата Сообщение от mutagen Посмотреть сообщение
это означает что ваши Энтити с утечкой памяти, рекомендую проверить, так как у всего человечества этот самый хибернейт работает без всяческих оутов.
это, конечно, возможно, но вот, что говорит простой поиск:

https://www.google.com/search?... 15&bih=902

плюс не совсем понятно, почему те же самые Энтити с JDO работают великолепно. В общем, не все так просто...

кстати, все энтити сгенерированы с помощью NetBeans из таблиз БД. Потому что бета версию я написал на питоне под Джанго. Там метожлв по сути нет. Даже не знаю откуда взяться утечке.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
03.09.2012, 23:16
Цитата Сообщение от vrodnenok Посмотреть сообщение
но вот, что говорит простой поиск:
ну и всё нормально - он нашёл вопросы новичков у которых тоже утечка, думаете только вы делаете ошибки? я в свое время тоже их делал и сейчас продолжаю, но уровень ошибок другой
Цитата Сообщение от vrodnenok Посмотреть сообщение
почему те же самые Энтити с JDO работают великолепно
вы покажите код(+конфиг хибернейта), а мы посмотрим что может быть причиной
0
16 / 16 / 5
Регистрация: 17.05.2012
Сообщений: 124
03.09.2012, 23:59
Цитата Сообщение от mutagen Посмотреть сообщение
вы покажите код(+конфиг хибернейта), а мы посмотрим что может быть причиной
давайте я сохраню эту возможность до действительно сложного и интересного слукчая. а демо-версию этого проекта я все равно уже переписал под Google App Enbgine, там те же самые энтитиз живут прекрасно хоть неделю комп не перегрухай.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.09.2012, 23:59
Помогаю со студенческими работами здесь

Как подключиться к незарегистрированной базе?
Кто может подсказать как подключится к базе которая есть у меня на диске но я не хочу ее регестрировать? Как должен выглядить URL и можно...

Как подключиться к MySQL базе которая крутиться на удалённом сервере в докер контейнере?
Здравствуйте сообствено сабж. База данных крутиться на удалённом серваке в докер контейнере. Сейчас реализовано подключение по ssh к...

Не могу подключиться к БД
Сомневаюсь, что проблема в коде, так как он слизан с одной из тем этого форума. Ошибка следующая ORA-00604: error occurred at...

Не могу подключиться к БД derby
Добрый день. Проблема довольно тривиальна - есть приложение для работы с базой данных. Работать оно должно удаленно. В параметре...

Не могу подключиться к устройству
Добрый день. Скажу сразу, я не программер, и ничего в Java не понимаю. Пробую подлючится к железяке. Выдает ошибку ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru