繁体   English   中英

无法连接到MS Access数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM