-
2021-02-12 12:29:41
java连接MS Access的两种方式:
1.JDBC-ODBC
Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar。但是,如此一来程序部署的每个机器上都要进行设置不方面。所以现在不会使用啦。
2.JDBC
java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接。
java Access JDBC jar包:Access_JDBC30.jar
具体连接,参考下面代码:
try {
///加载驱动jar
Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
//指定Access数据库文件的位置
String url = "jdbc:Access:///c:/a/db.mdb";
//建立连接
conn = DriverManager.getConnection(url, "username", "password");
} catch (Exception e) {
e.printStackTrace();
}
其他的查询就和其他的数据库一样,如:https://www.jb51.net/article/68620.htm
3.说明:
现在基本不会使用ODBC方式连接数据库,也基本不使用Access,像我今天拿出老以前的程序想跑一跑一看是Access,还是使用JDBC吧。
更多相关内容 -
java连接access数据库jdbc驱动包
2020-09-02 15:00:47java连接access数据库jdbc驱动包 java连接access数据库jdbc驱动包 java连接access数据库jdbc驱动包 java连接access数据库jdbc驱动包 -
java连接Access数据库的方法
2020-08-30 13:28:03主要为大家详细介绍了java连接Access数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
java连接access数据库的三种方式以及远程连接
2022-03-09 11:02:53java连接access数据库连接access数据库,网上的内容很多,尝试的过程中也会遇到各种问题,没有特别好的介绍,所以自己想总结一下,日后备用。
这里需要提前说明下,win7系统32bit和64bit默认安装的access都是32bit的,但是如果是64bit的系统连接access数据库时需要安装64bit的office软件,下面会说到。
以64bit操作系统为列
第一种:电脑上配置结合java代码实现
a.打开目录C:\Windows\System32找到odbcad32.exe文件,双击打开
b.点击右侧添加按钮,在列表中选择access数据库驱动
这个地方要注意,使用纯java实现连接access数据库的时候需要写access的驱动,而access的驱动名称是根据这里写的,也就是你本机有的驱动,而不是网上说的什么要有空格,要把*.mdb, *.accdb换成*.mdb或者*.accdb之类。因此这里需要注意。另外还可能有个问题。有可能点击添加的时候这里并没有access驱动,或者报错[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序时,
这个时候网上下载一个AccessDatabaseEngine_X64.exe,如果是32bit操作系统相应的下载AccessDatabaseEngine_X32.exe即可,点击下载64bit驱动
c.点击完成出现下列对话框,数据源名称随意填写,说明可有可无,就是对数据源的描述,点击选择按钮选择数据库所在的路径
d.点击确定按钮后就可以在ODBC数据源管理器中看到添加的数据源
e.下面是java的代码
package com.xu.bean; import java.io.UnsupportedEncodingException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ConnectAccessDatabase { public static void main(String[] args) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:databaseName";//databaseName就是刚刚添加的数据源名称 Connection con = DriverManager.getConnection(url, "", "");//没有用户名和密码的时候直接为空 Statement sta = con.createStatement(); ResultSet rst = sta.executeQuery("select * from demoTable");//demoTable为access数据库中的一个表名 if(rst.next()){ System.out.println(rst.getString("name")); //解决乱码问题 // System.out.println(new String(rst.getBytes("name"), "gbk")); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } /*catch (UnsupportedEncodingException e) { e.printStackTrace(); }*/ } }
然后运行代码即可
第二种方式:纯jiava实现
a.这里需要注意的就是url那里,前面也提到过是根据电脑本地有的驱动写的
package com.xu.bean; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * 纯java代码实现 连接access数据库 * @author xuyl * */ public class ConnectAccessDatabase2 { public static void main(String[] args) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=E:\\demo.mdb"; Connection con = DriverManager.getConnection(url, "", "");//没有用户名和密码的时候直接为空 Statement sta = con.createStatement(); ResultSet rst = sta.executeQuery("select * from demoTable");//demoTable为access数据库中的一个表名 if(rst.next()){ System.out.println("纯java代码实现:" + rst.getString("name")); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }
b.运行结果
第三种方式:使用RmiJdbc.jar(也是远程连接的方法)以远程连接为例
首先下载RmiJdbc.jar
在放置Access数据库的电脑上配置 1.配置RmiJDbc.jar环境变量(在这之前还需要配置jdk环境,jdk配置可自行百度) 解压缩RmiJdbc3.3.zip,将解压出的文件放在任意盘符。右键计算机选择属性 - 选择高级系统设置 - 选择环境变量 - 在系统变量中找到CLASSPATH选中点击编辑按钮在最后面添加%CLASSPATH%;D:\RmiJdbc3.3\RmiJdbc\dist\lib\RmiJdbc.jar(以放在d盘跟目录为例) 2.启动RmiJbdc.jar服务 win + r 建打开运行窗口输入cmd打开命令窗口输入 java -jar D:\RmiJdbc3.3\RmiJdbc\dist\lib\RmiJdbc.jar出现下图所示即配置成功。
启动之后需要一直运行。
3.配置数据源
根据上面的方法配置好数据源
4.java代码
public static String executeQuery(String sql) { log.info("===========executeQuery start============="); String jsonArray = "{"; StringBuilder jsonObject = new StringBuilder(); Connection con = null; Statement stmt = null; ResultSet rst = null; try{ //注册数据提供程序 Class.forName("org.objectweb.rmijdbc.Driver").newInstance(); //accessDatabase为远程服务器数据源名称 // String url = "jdbc:rmi://10.23.16.83/jdbc:odbc:accessDatabase"; //生产地址 String url = "jdbc:rmi://10.23.10.6/jdbc:odbc:accessDatabase"; // String url = "jdbc:rmi://10.23.71.211/jdbc:odbc:demo"; //建立连接 con = DriverManager.getConnection(url, "", ""); stmt = con.createStatement(); rst = stmt.executeQuery(sql); if(rst != null){ while(rst.next()){ String id = rst.getInt("id") + ""; String name = new String(rst.getBytes("title"), "gbk"); String time = rst.getDate("adate").toString(); String filePath = rst.getString("url"); jsonObject.append("{\"ID\":\"" + id + "\", \"NAME\":\"" + name + "\", \"FILE_PATH\":\"" + filePath + "\", \"TIME\":\"" + time + "\"}, "); } String temp = jsonObject.toString(); temp = temp.substring(0, temp.length() - 2); jsonArray += "\"IS_EMPTY\":\"N\",LIST:[" + temp + "]}"; }else{ jsonArray += "\"IS_EMPTY\":\"Y\"}"; } }catch(Exception e){ log.info("===========executeQuery start=============" + e.getMessage()); }finally{ try { con.close(); stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } log.info("===========executeQuery end============="); return jsonArray; }
以上就是三种访问access数据库的方法
-
Java连接access数据库
2015-02-06 10:56:13java连接access数据库,自带Access_JDBC30.jar驱动,有自带数据库,本文是一个完整的类,直接拿去运行就可以,本文旨在帮助那些初学者,配上驱动直接连接,不用在去看那些别人说的怎样怎样配置,简化操作,有需要的... -
java连接Access数据库
2017-08-31 18:07:43在Javaweb中,access数据库其实没有什么使用量,但是当项目需要兼容以前的c/s系统的时候,可能就会要求从曾经使用的access数据库中同步数据,所以,适当了解这个功能还是很有必要的。 首先,实现java和access之间...在Javaweb中,access数据库其实没有什么使用量,但是当项目需要兼容以前的c/s系统的时候,可能就会要求从曾经使用的access数据库中同步数据,所以,适当了解这个功能还是很有必要的。
首先,实现java和access之间的连接,网上很多都说jdbc:odbc的桥接方式,可是万恶的java8已经不再支持这种连接方式,所以给大家推荐以下两种方式。
1、通过加载AccessDriver驱动来连接数据库,该方法需要引入一个jar包(下载地址Access_JDBC30.jar),且该jar包只能通过手工添加的方式添加到我们的lib或者jdk中。
具体代码
形式和jdbc连接如出一辙,后面遍历rs即可取得所需的数据,我的项目需求是前端页面展示,所以我会将数据先遍历赋值给一个obect对象,然后添加到list中返回前端。//加载数据库驱动 Class.forName("com.hxtt.sql.access.AccessDriver"); // //拼接数据库连接url String dbur1 = "jdbc:Access:///" + filePath + fileName; // //连接数据库 Connection conn = DriverManager.getConnection(dbur1, "username", "password"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from " + tablename);
2、现在项目基本上都是通过maven来管理我们的依赖了,现在给大家介绍一种通过pom.xml直接引入文件就能使用的方式
将以上代码添加到pom.xml中,然后<!--连接access数据库--> <dependency> <groupId>net.sf.ucanaccess</groupId> <artifactId>ucanaccess</artifactId> <version>3.0.2</version> </dependency>
和方法一除了加载的驱动不一样,其他都是对数据库的操作,基本一致。Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); String dbur1 = "jdbc:ucanaccess://" + filePath + fileName; Connection conn=DriverManager.getConnection(dbur1, "username", "password"); Statement stmt = conn.createStatement();
以上两个方法亲测有效,实际开发中推荐第二种,通过maven管理依赖,具体原因你懂的。
-
java连接Access数据库(详细),你get到了吗?
2019-12-09 19:05:49建立数据库 1.首先下载office2016专业版,里面含有Access,百度云下载链接:https://pan.baidu.com/s/1iCLPOrjaV_XOWQoWhCifZA 提取码:vjno ...2.打开Access,新建数据库 点击设计视图,保存表的名字为st...建立数据库
1.首先下载office2016专业版,里面含有Access,具体下载可以百度。
2.打开Access,新建数据库
点击设计视图,保存表的名字为student
建立字段名称,定义主键(主键字段的数据不能出现重复的内容)
返回到数据表视图
输入相应的数据
连接数据库
我使用的是IDEA,以IDEA演示
Access驱动文件在点击这里首先导入Access驱动文件到idea里面
1.打开File选项,找到Project Structure
2.找到Global Libraries
3.点击加号
4.找到Acess驱动包的路径
5.点击OK就导入好Access驱动了。运行这段代码
import java.sql.*; /** * @ author Dragon * @ version */ public class TestConSQL { public static void main(String[] args) { try { Class.forName("com.hxtt.sql.access.AccessDriver");//导入Access驱动文件,本质是.class文件 } catch (ClassNotFoundException e) { e.printStackTrace(); } try { Connection con = DriverManager.getConnection("jdbc:Access:///C:\\Users\\lenovo\\Desktop\\Datas.accdb","",""); //与数据库建立连接,getConnection()方法第一个参数为jdbc:Access:///+文件总路径,第二个参数是用户名,第三个参数是密码(Access是没有用户名和密码此处为空字符串) Statement sta = con.createStatement(); ResultSet res = sta.executeQuery("select * from student"); //向数据库发送executeQuery()方法的数据库语句,对数据库返回的结果放到ResultSet里面 //注意一定要保证数据库语句的正确性 while(res.next()){//不断的移动光标到下一个数据 System.out.println(res.getString(1)+res.getString(2)+res.getInt(3)); //注意如果年龄为数值,需要getInt() } con.close();//关闭数据库连接 } catch (SQLException e) { e.printStackTrace(); } } }
运行结果
123456张三23
234567李四20
345678王二21
456789麻子23不同的功能对应不同executeQuery()方法的数据库语句
Access 2010:驱动类:com.hxtt.sql.access.AccessDriver
连接串:jdbc:Access:///+DatabaseName如果是其它数据库:
SQL SERVER:驱动类:com.microsoft.sqlserver.jdbc.SQLServerDriver
连接串:jdbc:sqlserver://localhost:1433;DatabaseName=testORACLE:
驱动类:oracle.jdbc.driver.OracleDriver
连接串:jdbc:oracle:thin:@127.0.0.1:1521:testMYSQL:
驱动类:com.mysql.jdbc.Driver
连接串:jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password -
java连接Access数据库的两种方法.doc
2022-06-03 11:43:07java连接Access数据库的两种方法 -
Java连接Access数据库.pdf
2022-07-14 19:24:34Java连接Access数据库.pdf -
JAVA连接ACCESS数据库.pdf
2021-10-11 00:41:55JAVA连接ACCESS数据库.pdf -
JAVA连接ACCESS数据库文件(.mdb/.accdb)所需的jar包
2016-09-28 15:37:01JAVA连接ACCESS数据库文件(.mdb/.accdb)所需的jar包 -
Java连接access数据库方法.pdf
2022-07-14 19:24:50Java连接access数据库方法.pdf -
JAVA连接ACCESS数据库驱动包,不限次,不限记录数,亲测可用,已经商用。
2018-06-30 09:57:55JAVA连接ACCESS数据库驱动包,不限次,不限记录数,亲测可用,使用该包开发的代码已经商用。例子及注意问题请看我的博客,有问题请留言,https://blog.csdn.net/geman1985/article/details/80864142, 对应的博客... -
教案JAVA连接ACCESS数据库.pdf
2021-10-06 00:15:57教案JAVA连接ACCESS数据库.pdf -
Java连接Access数据库[收集].pdf
2021-10-11 03:43:42Java连接Access数据库[收集].pdf -
Windows中Java连接Access数据库
2019-04-11 01:08:18NULL 博文链接:https://xml.iteye.com/blog/1679352 -
java连接access数据库
2015-10-21 17:11:00为什么提示Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); 这条语句“未出现的异常类型”啊,我是照书上写的啊 -
Java连接Access数据库应用[文].pdf
2021-10-11 03:43:43Java连接Access数据库应用[文].pdf -
LINUX平台JAVA直接连接access数据库dbf文件
2014-11-04 17:54:47JAVA直接连接access数据库dbf文件,同时兼容LINUX、UNIX、WINDOWS操作系统。示例工程代码,导入eclipse即可运行。 -
JAVA连接ACCESS数据库
2015-02-13 16:06:46JAVA连接ACCESS数据库非常便捷,一种方式是使用JDBC for ACCESS的专门驱动,在java官网或office官网都有下载,这种方式需加载额外的驱动,不推荐使用,有兴趣的朋友可以试试。 另一种就是使用JDBC-ODBC桥来连接。 -
Java连接Access数据库
2017-11-21 22:16:39JDK1.7以下连接Access:ODBC连接方式 使用的工具 java JDK 1.7; Access 2013; ODBC数据源; 数据库结构 建立数据库shop,在其中添加表goods,表结构如下: 数据如下: 建立ODBC数据源:控制面板-->管理... -
Java连接Access数据库问题
2016-09-21 06:04:48程序运行结果为sun.jdbc.odbc.JdbcOdbcResultSet@16bf9ce,该怎样解决,求赐教 -
java连接Access数据库小例子
2013-02-15 19:38:55java连接Access数据库小例子 解压后导入到MyEclipse可直接使用 -
Java连接MS Access数据库
2021-01-20 03:45:03Java连接Access可以使用MS自带的管理工具–>数据源(ODBC)设置建立连接,这样不需要导入jar。但是,如此一来程序部署的每个机器上都要进行设置不方面。所以现在不会使用啦。 2.JDBC java也可以和连接其他...