简体   繁体   中英

Connect to an Access database in Java using NetBeans

How do I connect to an Access database in Java?

I have done like this:

package inspection.management.system;

import java.sql.*;

/**
 *
 * @author Fuhans
 */

public class Database 
{
    public static void DatabaseConnectivity()
    {
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

            String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "d:\\program files\\project\\program\\inspection management system\\db1.accdb";

            Connection conn = DriverManager.getConnection(url);

            System.out.println("Connection Successful");
            InfoBox.ShowMessageBox("Connection Successful!", "Success");
        } 

        catch (Exception e) 
        {
            System.err.println("Got an exception!");
            System.err.println(e.getMessage());

            InfoBox.ShowMessageBox("Got an Exception!", "Error");
            InfoBox.ShowMessageBox(e.getMessage(), "Error");
        }
    }
}

if (_textField1.equals("Fuhans") && _passwordField1.equals("Xavega"))
        {
            Sound.PlaySound(1);
            InfoBox.ShowMessageBox("Successfully Login!", "Success");
            Database.DatabaseConnectivity();
        }

When i successfully login, it gave me error on database:

在此处输入图片说明

What have i done wrong?

in the ODBC Administrator app, i don't have Ms access Driver, i just have SQL Driver.

Now that the JDBC-ODBC Bridge has been removed from Java (since Java 8) you should consider using the UCanAccess JDBC driver. It is a pure Java implementation so it works on non-Windows platforms, too.

For more information see

Manipulating an Access database from Java without ODBC

You should create a DSN(Data Source Name) first.

In control panel, if there is no drivers for accessing even though you have installed then there is a possibility that you may not getting odbcad32.exe file path. Choose your path from this, and then right click Data Sources(ODBC)[where you are creating DSN], and paste one of following path there.

  1. The 32-bit version of the Odbcad32.exe file is located at:

    %WinDir%\\Windows\\SysWoW64

  2. The 64-bit version of the Odbcad32.exe file is located at:

    %WinDir%\\Windows\\System32

and while accessing, do like this:

String url = "jdbc:odbc:dsn_name";
Connection conn = DriverManager.getConnection(url);

change the statement:

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "d:\\program files\\project\\program\\inspection management system\\db1.accdb";

to:

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "C://program files//project//program//inspection management system//db1.accdb";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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