java连接.accdb_尝试通过Java 8中的JDBC-ODBC连接到.accdb文件时...

我正在使用Eclipse EE IDE中的Java项目,我必须查询.accdb文件.

问题是当我尝试加载驱动程序然后连接到数据库时,它给我一个异常错误.

我的代码:

try{

String filePath = "//myfilepathtomydb/BLABLA/example.accdb"

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + filePath;

Connection database = DriverManager.getConnection(url);

System.out.println("Connection sucessful");

} catch (ClassNotFoundException e){

System.err.println("Got an exception");

System.err.println(e.getMessage());

e.printStackTrace();

} catch (SQLException sqle) {

sqle.printStackTrace();

// TODO: handle exception

}

例外:

Got an exception

sun.jdbc.odbc.JdbcOdbcDriver

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

at java.net.URLClassLoader$1.run(URLClassLoader.java:372)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:360)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:259)

at project.Main.main(Main.java:15)

我在64位Windows中使用32位Eclipse,并且从我读过的这种连接到数据库的方式不支持64位JRE,所以我使用的是选择的32位JRE( jdk1.8.0_05)在我的运行配置中,我在VM中使用了’-d32’参数.

显然JdbcOdbcDriver应该在rt.jar中,但是当我查找它时,我找不到以下包:sun.jdbc.odbc.JdbcOdbcDriver.

如果有人可以解释我的问题,任何错误或愚蠢的事情,我说也可以随意纠正我,将不胜感激.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个使用C#连接Access数据库文件(.accdb)的示例代码: ``` using System.Data.OleDb; class Program { static void Main(string[] args) { string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;Persist Security Info=False;"; OleDbConnection connection = new OleDbConnection(connectionString); connection.Open(); // 在这里执行你需要的操作 connection.Close(); } } ``` 注意,这里使用了`System.Data.OleDb`命名空间的`OleDbConnection`类来连接Access数据库,使用了OleDb连接字符串指定了数据库文件的路径。你可以根据自己的需要修改连接字符串的路径和其他参数。在`connection.Open()`方法调用后,你可以在连接上执行需要的操作,然后在最后调用`connection.Close()`方法关闭连接。 ### 回答2: 使用C#连接.accdb类型的数据库文件,可以使用System.Data.OleDb命名空间的OleDbConnection、OleDbCommand和OleDbDataAdapter类。 首先,需要在项目添加对System.Data.OleDb命名空间的引用。 接下来,可以使用以下代码来连接数据库文件.accdb类型的数据库: ```csharp using System.Data.OleDb; // 连接字符串 string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb"; // 创建OleDbConnection对象 using (OleDbConnection connection = new OleDbConnection(connectionString)) { try { // 打开数据库连接 connection.Open(); // 数据库连接成功后可以执行数据库操作,如执行查询、插入、更新等操作 // 查询示例 string query = "SELECT * FROM TableName"; OleDbCommand command = new OleDbCommand(query, connection); // 使用OleDbDataAdapter填充DataSet或DataTable OleDbDataAdapter adapter = new OleDbDataAdapter(command); DataSet dataSet = new DataSet(); adapter.Fill(dataSet); // 可以对查询结果进行处理,如输出到控制台或进行其他操作 // 关闭数据库连接 connection.Close(); } catch (OleDbException ex) { // 处理数据库连接或操作过程的异常 } } ``` 上述代码,`connectionString`是连接字符串,需要根据实际的数据库文件路径进行修改。在连接成功后,可以执行查询、插入、更新等操作,并可以使用OleDbDataAdapter填充DataSet或DataTable来处理查询结果。 在使用数据库连接结束后,应该使用`connection.Close()`来关闭数据库连接,以释放资源。同,可在`try-catch`块处理OleDbException异常,以处理数据库连接或操作过程的错误情况。 ### 回答3: 首先,要使用C#连接.accdb类型的数据库文件,我们需要确保计算机上已安装了适当版本的Microsoft Access数据库引擎驱动程序。接下来,我们可以使用C#提供的System.Data.OleDb命名空间的类来创建连接并执行数据库操作。 以下是一个简单的示例代码,用于连接.accdb类型的数据库文件: ```csharp using System; using System.Data.OleDb; class Program { static void Main() { // 数据库连接字符串 string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Path\To\Database.accdb;"; // 创建数据库连接对象 using (OleDbConnection connection = new OleDbConnection(connectionString)) { try { // 打开数据库连接 connection.Open(); // 在此处执行数据库操作,例如执行查询或更新数据等 // 关闭数据库连接 connection.Close(); } catch (OleDbException ex) { Console.WriteLine("数据库操作出现错误: " + ex.Message); } } } } ``` 在这个示例,我们首先定义了一个连接字符串,它指定了使用Microsoft ACE OLEDB 12.0提供程序进行连接以及.accdb文件的路径。然后,我们创建了一个OleDbConnection对象,并使用连接字符串进行初始化。 在try语句块,我们可以执行任意数据库操作,例如查询数据、插入数据或更新数据等。完成操作后,我们使用connection.Close()语句关闭数据库连接,这样可以确保释放资源并保持连接的完整性。 如果执行数据库操作发生了任何错误,将会捕获OleDbException,并在catch语句块输出错误消息。 请注意,这只是一个基本的示例代码,实际应用可能需要添加更多功能,如异常处理、数据读取等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值