我已将我的学校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();