使用 NetBeans 连接到 Java 中的 Access 数据库
Posted
技术标签:
【中文标题】使用 NetBeans 连接到 Java 中的 Access 数据库【英文标题】:Connect to an Access database in Java using NetBeans 【发布时间】:2013-11-15 17:45:09 【问题描述】:如何在 Java 中连接到 Access 数据库?
我是这样做的:
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();
当我成功登录时,它给了我数据库错误:
我做错了什么?
【问题讨论】:
您是否使用 ODBC 管理器应用程序创建了数据源? 不是,在 ODBC 管理员应用程序中,我没有 Ms 访问驱动程序,我只有 SQL 驱动程序。但是现在对于这个应用程序,我正在使用 Ms Access。 那么如果没有安装Access ODBC驱动,那么你希望如何连接到Access db呢? 在c#中,我只是通过代码连接它,不需要设置所有的东西,只需创建一个数据库并通过代码访问它。但是现在我正在使用 Java,但我不知道如何将我的 Java 应用程序连接到数据库。先生,您能帮帮我吗? 【参考方案1】:在 ODBC 管理员应用程序中,我没有 Ms 访问驱动程序,我只有 SQL 驱动程序。
现在 JDBC-ODBC 桥已从 Java 中删除(自 Java 8 起),您应该考虑使用 UCanAccess JDBC 驱动程序。它是一个纯 Java 实现,因此也可以在非 Windows 平台上运行。
有关详细信息,请参阅
Manipulating an Access database from Java without ODBC
【讨论】:
【参考方案2】:您应该先创建一个 DSN(数据源名称)。
在控制面板中,如果您已经安装了驱动程序,但没有可以访问的驱动程序,那么您可能无法获得 odbcad32.exe 文件路径。 从中选择您的路径,然后右键单击 Data Sources(ODBC)[您正在创建 DSN 的位置],然后将以下路径之一粘贴到那里。
Odbcad32.exe 文件的 32 位版本位于:
%WinDir%\Windows\SysWoW64
Odbcad32.exe 文件的 64 位版本位于:
%WinDir%\Windows\System32
在访问时,这样做:
String url = "jdbc:odbc:dsn_name";
Connection conn = DriverManager.getConnection(url);
【讨论】:
【参考方案3】:更改语句:
String url = "jdbc:odbc:Driver=Microsoft Access Driver (*.mdb, *.accdb);DBQ=" + "d:\\program files\\project\\program\\inspection management system\\db1.accdb";
到:
String url = "jdbc:odbc:Driver=Microsoft Access Driver (*.mdb, *.accdb);DBQ=" + "C://program files//project//program//inspection management system//db1.accdb";
【讨论】:
以上是关于使用 NetBeans 连接到 Java 中的 Access 数据库的主要内容,如果未能解决你的问题,请参考以下文章
在 Linux (Mageia) 上的 NetBeans 中从 Java 应用程序连接到 MariaDB
为啥我在使用 Java (Netbeans) 连接到 MySQL 时收到此错误“通信链接失败最后发送的数据包...”? [复制]
将 Xampp 连接到 Netbeans IDE (8.0.2)
在 IDE Netbeans 中从 java 连接到 MySQL 数据库