2013-02-16 3 views
-1

У меня проблема, которая сводит меня с ума, им действительно не привыкли работать с базами данных mySQL, и мне действительно нужна помощь в этом. Я хочу подключиться к моей базе данных MySQL для запуска запросов и, в конечном итоге, иметь возможность загружать данные в базу данных и измерять время, затраченное на загрузку, запрос и т. Д., Поэтому я могу сравнить производительность для разных типов баз данных. Я ДУМАЮ, что получил forName, но теперь он жалуется на dbUrl. Может кто-нибудь объяснить мне, что я делаю неправильно?MySQL jdbc driver

Заранее благодарен!

import java.sql.*; 
import java.util.Properties; 

import javax.sql.*; 


public class jdbcdemo{ 

public static void main(String args[]){ 
String dbtime; 
String dbUrl = "jdbc:mysql://localhost:3306/Meeting"; 
String dbClass = "com.mysql.jdbc.Driver"; 
String query = "Select * FROM customer"; 

Properties properties = new Properties(); 
properties.put("user", "student"); 
properties.put("password", "ingan86"); 

try { 

Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection (dbUrl,properties); 
Statement stmt = con.createStatement(); 
ResultSet rs = stmt.executeQuery(query); 

while (rs.next()) { 
dbtime = rs.getString(1); 
System.out.println(dbtime); 
} 

con.close(); 
} 
catch(SQLException e) { 
e.printStackTrace(); 
} 

catch(Exception e) { 
e.printStackTrace(); 
} 


} 

} 

StackTrace:

java.sql.SQLException: Access denied for user 'student'@'localhost' (using password: YES) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:798) 
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3700) 
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1203) 
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2572) 
at com.mysql.jdbc.Connection.<init>(Connection.java:1485) 
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at jdbcdemo.main(jdbcdemo.java:22) 
+0

вы можете подключиться из командной строки с помощью этой комбинации Логин/пароль? – Axel

+0

Попробуйте явно добавить пользователя 'student' @' localhost' и предоставить ему разрешения, как в ответе @Reimus. – hd1

+1

Что такое * точное сообщение об ошибке? –

ответ

0

Убедитесь, что пользователь student обладает достаточными правами на использование базы данных:

GRANT ALL PRIVILEGES 
ON Meeting.* 
TO [email protected] 
IDENTIFIED BY 'ingan86'; 
+0

Большое спасибо за все ваши ответы! Я понял это, я просто изменил пользователя от «студент» до «root» :) – glaring

Смежные вопросы