[英]Can't connect to MS access database
我已经把学校的IT项目带回家完成了,尽管我可以在学校连接到数据库,但是无法在自己的计算机上连接到数据库。 我在数据库类中更改了目录,并且几乎100%确保目录正确。 它总是给我这个错误:
驱动程序已成功加载无法连接:[Microsoft] [ODBC驱动程序管理器]找不到数据源名称且未指定默认驱动程序java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]找不到数据源名称且未指定默认驱动程序sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)在sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)在sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Jdb30Odbc)。在sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)在sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)在java.sql.DriverManager.getConnection(DriverManager.java:571)在数据库中的java.sql.DriverManager.getConnection(DriverManager.java:233).GUI处的数据库(Database.java:35).GUI$41.run(GUI.java:564)处的GUI(GUI.java:33) .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三块 .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)在java.awt.EventQueue.dispatchEvent(EventQueue.java:703)在java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) .awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)在java.awt.EventDispatchThread。运行(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();
我已经通过下载和安装2010 MS Access数据库引擎解决了该问题。 可以在这里下载Microsoft Access数据库引擎2010可再发行组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.