2014-07-27 45 views
0

我已将我的学校IT项目带回家,尽管我可以在学校时连接到我的数据库,但我无法在自己的计算机上连接到它。我改变了数据库类中的目录,我几乎100%确定该目录是正确的。它总是给我这个错误:无法连接到MS访问数据库

Driver successfully loaded Unable to connect: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121) at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3080) at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323) at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:233) at Database.(Database.java:35) at GUI.(GUI.java:33) at GUI$41.run(GUI.java:564) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

这里是我的数据库代码

public class Database { 
    private static final String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; 

private static final String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\my-pc\\Documents\\NetBeansProjects\\MotorBikeApp\\MotorBikeApp\\Database\\Database1.accdb"; 

private Connection connection; 
private PreparedStatement statement; 
private ResultSet resultSet; 

public Database() 
{ 
    try 
    { 
     Class.forName(driver); 
     System.out.println("Driver successfully loaded"); 
    } 
    catch (ClassNotFoundException c) 
    { 
     System.out.println("Unable to load driver"); 
    } 

    try 
    { 
     connection = DriverManager.getConnection(url); 
     System.out.println("Connection Successful"); 
    } 
    catch (Exception e) 
    { 
     System.out.println("Unable to connect: " + e.getMessage()); 
     e.printStackTrace(); 
    } 
} 
} 

我得到的错误,当我尝试使数据库的新实例,在我的GUI类。我使用下面的代码来做到这一点。

Database db = new Database(); 

回答

相关问题