当前位置: 代码迷 >> J2SE >> eclipse连接数据库的有关问题
  详细解决方案

eclipse连接数据库的有关问题

热度:70   发布时间:2016-04-23 20:28:08.0
eclipse连接数据库的问题
package com.test ;
import java.sql.* ;
public class ConnectionDemo {
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
    public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
public static void main (String[] args) {
// TODO Auto-generated method stub
try{
Class.forName(DBDRIVER) ;
}
catch(Exception e){
e.printStackTrace();
}
Connection conn = null ;
try{
conn = DriverManager.getConnection(DBURL) ;
}
catch(SQLException e){
e.printStackTrace() ;
}
System.out.println(conn) ;
}

}

现在进入mysql都没有用密码的,不知怎么回事,进入cmd,登录时敲mysql -uroot ,然后进行这个数据库连接时,我选择了DriverManager.getConnection(String URL)这个方法,想着反正自己登陆mysql都没有用用户名和密码,所以就直接选择这个方法好了,用户名和密码不用作为参数了,但是问题出现了,出现以下异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'mldn'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:927)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4689)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1304)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2486)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2519)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.test.ConnectionDemo.main(ConnectionDemo.java:16)
null
希望有人能解决这个问题,第一次发帖,如果有任何方面的问题,都可以跟我提出并请多多包涵,先谢了
------解决方案--------------------
你的用户名和密码必须设置的
------解决方案--------------------
驱动名不对吧。你把DBDRIVER?改成  com.mysql.jdbc.Driver
而且用户名和密码是必须的吧,你这个方法不是不用写,是拼在一起写成一个字符串而已。
  相关解决方案