Type 4 JDBC driver for MS ACCESS(.mdb) database

使用 ucanaccess 库连接MS Access 数据库 类库介绍: UCanAccess 可以将mdb 文件的数据操作封装为传统的JDBC数据库操作。 mdb 库连接示例代码: String path = "D:/demo.mdb"; Connection connection = null; Statement statement = null; ResultSet resultSet = nu... 阅读详情

Type 4 JDBC driver for MS ACCESS(.mdb) database?

Ask Question

up vote4down votefavorite

2

My Java application uses a .mdb database and i want to run this application on MAC OS for that am definitely gonna nead a TYPE 4 JDBC driver i have google and came across two - HXTT & StelsMDB but both are out of my reach

So if any body has some alternative or suggestions please reply.

Thanks in advance

java ms-access jdbc

shareimprove this question

edited Nov 26 '10 at 11:05

skaffman

330k81715714

asked Nov 26 '10 at 10:57

Jinith

52731025

  • May be of interest: sourceforge.net/projects/jackcess/files – Fionnuala Nov 26 '10 at 11:28

  • Jackcess is not a JDBC driver but a special purpose library. You cannot use it as a drop-in replacement and would have to re-factor all of your database code if you did. Rather than support SQL statements, you have to create database objects and invoke methods on those objects to interact with the database. – PeterToTheThird Nov 12 '12 at 15:23

add a comment

5 Answers

activeoldestvotes

up vote4down voteaccepted

MS Access databases on MS Windows are driven by the Microsoft Jet Engine. Different from client server database management systems like MS SQL Server or MySQL the connection to a MS Access database runs in embedded mode via OLE and some DLLs.

As far as I know there is no Jet Engine implementation for operating systems other than MS Windows. So if you want to connect to a MDB file on Mac OS a simple JDBC driver is not enough. There has to be some kind of emulation layer to emulate the Jet Engine DLLs. According to the HXTT website this is exactly the way the HXTT JDBC driver works.

From the HXTT website:

It contains a fast database engine written in Java, which supports embedded and server modes.

If the usage of the MS Access database format is an absolute requirement, then these kind of emulation might be the best way for you. But you have to testify if the compatibility level is high enough. (Maybe there is no way to access VBA macros contained in the MDB file.)

It seems there is no open source project doing the same kind of emulation like HXTT.

There are several alternatives. If you want an embedded database system then you can use for example

  • SQLite (this JDBC driver supports Mac Os) (one database file, requires some native libraries),
  • H2 (only a few database files, pure Java) or
  • Apache Derby (many database files, pure Java).

Or you can use a client server database management system, install the server on a host and connect to that host from your Mac OS machine. For that you can use for example

Even the pure Java databases H2 and Derby have client server modes.

shareimprove this answer

answered Nov 28 '10 at 8:19

vanje

8,14022336

  • 1

    Jet has been superseded by its successor, ACE, which is really just an upgrade to Jet. All of what you say still applies, but your answer would be more complete if you incorporated the ACE reference. – David-W-Fenton Nov 30 '10 at 1:04

  • This answer is outdated. See this answer for a free open-source JDBC driver for Access databases (UCanAccess). More information available from this question. – Gord Thompson May 7 '15 at 14:59

add a comment

up vote6down vote

I've used jackcess to read the tables from an MDB and convert the database to sqlite3. Not ideal if you need to keep the .mdb format, but it allowed me to keep the database in a single file and made the database cross-platform.

shareimprove this answer

edited Jun 29 '12 at 17:26

jtahlborn

46.3k55693

answered Nov 26 '10 at 14:04

Jeff Knecht

2,28911111

add a comment

up vote3down vote

I suppose UCanAccess is what you are looking for.

It is an open source Java JDBC Driver implementation which allows Java developers and jdbc client programs (e.g., DBeaver, NetBeans, SQLeo, Open Office Base, Libre Office Base, Squirrell) to read/write Microsoft Access database. Because it is a pure java implementation it run in both Windows and non-Windows Operative Systems (e.g., linux/unix). No ODBC needed.

shareimprove this answer

answered May 7 '15 at 14:29

lu_ko

2,19911624

add a comment

up vote2down vote

StelsMDB is not as expensive as HXTT, still not open source...

http://www.csv-jdbc.com/stels_mdb_jdbc.htm

Have'n tried it, but evaluation copy is available.

Anyone else got suggestions? I'm looking for an opensource variant myself. Shouldn't be impossible to build on top of jaccess ...

shareimprove this answer

answered Oct 18 '11 at 4:09

Jon Martin Solaas

6271819

add a comment

up vote0down vote

We use stelsMDB JDBC driver at our server to read/write MDB files. It is platform-independent, so you can use it in MacOS as well.

shareimprove this answer

answered Mar 28 '13 at 7:20

serg kunz

1066

add a comment

QT - QODBC数据库编程 --- 连接 MS Access (1) QT为数据库编程提供了一个类似JDBC的统一操作模型,它的底层是具体数据库或数据库接口的插件,由它们负责完成真正的数据库操作。QT自带有QODBC Driver,在Windows平台上通过系统提供的ODBC Driver可以访问支持ODBC的数据库,如Ms Access、SQL Server等 (Windows XP 自带有Access和SQL Server的ODBC Driver)。QT数据库模 阅读详情

相关推荐

Ms access jdbc驱动

Ms access jdbc驱动 有三种办法 第一种是用access的jdbc驱动程序,到http://industry.java.sun.com/products/jdbc/drivers这个网站上查找并下在access的jdbc驱动程序。 第二个办法是你用下面的代码试试 con = drivermanager.getconnection("jdbc:odbc:driver={microsoft access driver (*.mdb)};dbq=c:/data/access/test1.mdb","dba","sql"); 后面的代码一样。这样你就可以访问access数据库了。 第三个是用sun的jdbcodbc桥,这个大家用的多了,在此就不写了来源:http://www.web521.com/asp-java/A07668.shtml

使用JDBC访问微软Access数据库实例

更快、更简单、更自动,开发速度快,运行快,更智能!// access由于access并不是作为一项服务运行,所以url的方法对他不适用。使用JDBC,需要自己写sql语句, 自己写获取字段结果的代码, 这种代码可以交给ORM去完成.// 实际上,是可以使用 纯JDBC驱动访问access的。是否可以使用JDBC访问, 网上的说法不一, 也很少有实例参考.之前有使用ODBC来访问Access的,但不方便.以下是使用ORM Bee查询的结果.有需要的伙伴可到Q群里问.

abckingaa的博客 1422

netezza jar 包 jdbc驱动

连接netezza 的jdbc jar包 项目部署中实际测试可用。。。

什么是数据库驱动?有哪几种jdbc驱动

数据库软件可以由各个数据库厂商提供,我们熟知的mysql,oracle,sqlserver,access,db2等等都是由不同的厂商提供的,既有不同的开发商开发,因此对于数据库软件的实现过程都不尽相同。应用程序也可以由不同的人进行开发,写代码实现的过程也不尽相同(因此应用程序和数据库软件之间属于many-to-many的关系)。如果想让应用软件和数据库之间能够产生交互,并且尽可能相互适应。

小小鱼儿小小林的博客 3249

access的jdbc驱动

在jdk1.8之后就不再提供odbc的连接驱动,官方建议所有连接使用各数据库官方驱动,所以才诞生了这样的一个驱动

开源的access jdbc驱动

这个是最新版的开源的Access jdbc驱动文件,比odbc好用

JDBC连接Access数据库的几种方式介绍

接下来总结一下常用的几种连接方式。 例如有如下的Access数据库student,表basic,以及6条记录,现在通过几种方式在Jsp中将他们的数据显示出来。如图所示: 对于几种连接Access数据库的方式,基本上都是基于JDBC-ODBC方式的,当然也有纯JDBC驱动的方式。这里我暂时就不说了。对于这几种方式,除了取得连接之处不同外,其他的代码都是一样的。所以这里先写出取得连接的几种

1131

脑机接口最新发展动态报告 (2024-2025)

脑机接口动态

高山 4106

jdbc Access mdb Driver

jdbc Access mdb Driver 博客分类:  JDBC MDB Driver stels_mdbjstelsmdb 最近刚好有个项目要连接ACCESS的MDB数据并导入到ORACLE中,使用 Java代码   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  String strurl="jdb

autumn20080101的专栏 766

Kylin-Desktop-V10-SP1-General-Release-2303-X86_64-海光版(hygon c86)安装与配置指南

本文提供了在国产海光C86处理器平台上安装与配置Kylin Desktop V10 SP1操作系统的详细指南。内容涵盖从下载专用镜像、制作启动盘、BIOS关键设置、磁盘分区方案,到系统安装后的驱动优化、必备软件安装及常见故障排除,旨在帮助用户顺利完成hygon c86平台的系统部署与优化。

tree的博客 1375

实验十一 ——————二层交换基础

实验内容实验网络拓扑图如上所示SW1以及SW2都创建VLAN10和VLAN20,按照上图所示,将接口添加到特定的VLAN;测试PC之间的连通性,要求相同VLAN内的PC能够相互通信要求设置两台交换机名称以及进行特权模式的密码,并允许通过Telnet方式管理交换机实验目的了解二层交换机工作原理掌握交换机基本配置命令理解VLAN的概念,掌握VLAN的配置理解trunk的概念,掌握trunk的配置实验步...

Fly_鹏程万里 1489

java 读取 mdb,Java:连接到MS-Access数据库(mdb或mde)

I am trying to connect to MS-Access using JDBC:ODBC:public boolean connectToAccess(String accessFilePath) {//Get connection to databasetry {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");myConnection =...

weixin_29444613的博客 384

上线之前多一道闸:业务审核系统的接入定义、双轨状态机与可靠生效闭环

运营后台“保存即生效”,让价格、库存、人群等配置每次修改都相当于一次无评审的上线。本文以至尊会员降价活动为例,系统拆解业务审核系统:用带业务语义的操作编码、规则化审核人与候选人快照、完整的生效回调契约做好接入定义;把业务改造为提交待生效,以不可变快照、字段级差异和唯一约束加幂等号防误配防重复;用审批轨与执行轨双轨状态机、链路式重新提交和以事件为准的审核链路理清状态;最后以发件箱、幂等键、超时先查后试、乐观锁与对账闭合生效环节,并结合两个可运行的Java程序,给出五种生效策略的事故率实测对比。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 6万+

java jdbc access数据库_如何使用JDBC从Java连接到Access数据库? (How can I connect to an Access database from Java us...

最佳答案英文原文you can useClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");// set this to a MS Access DB you have on your machineString filename = "d:/java/mdbTEST.mdb";String database = "jdbc:odbc:Driver={Micr...

weixin_42524750的博客 167

5.17华为OD机试真题 新系统 - 输出二叉树后序遍历结果 (Java/Py/C/C++/Js/Go)

5.17华为OD机试真题 新系统 - 输出二叉树后序遍历结果 (Java/Py/C/C++/Js/Go)

算法大师! 518

基于STM32设计的水下水质检测装置(微信小程序)(205)

本项目设计了一款基于STM32微控制器为核心的水下水质检测设备,该设备具有高度集成化、智能化的特点,能够实时监测水深、温度、浊度及溶解性总固体(TDS)等关键水质参数,并通过4G网络将数据上传至腾讯云IOT物联网平台,实现远程监控和数据分析。同时,为了便于操作和移动观测,还配套开发了微信小程序,用户可通过微信小程序实时查看并控制设备的各项功能,如调整下潜深度等。

1252

如何用jdbc访问MS Access数据库

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 320

Qt和FFmpeg的视频压缩工具

m_progressDialog = new QProgressDialog("正在压缩视频...", "取消", 0, 100, parent);QString file = QFileDialog::getOpenFileName(this, "选择视频文件", "",QString file = QFileDialog::getSaveFileName(this, "保存压缩文件", "",QMessageBox::warning(parent, "错误", "请设置输入和输出文件路径");

寒寒豆豆软件公司的博客 104

Java 连接MS Access数据库

java连接MS Access的两种方式: 1.JDBC-ODBC   Java连接Access可以使用MS自带的管理工具--&gt;数据源(ODBC)设置建立连接,这样就不需要导入jar。但是,如此一来程序部署的每个机器上都要进行设置不方面。所以现在不会使用啦。 2.JDBC   java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接。   jav...

weixin_33691700的博客 157

(第78天)DB RU 补丁升级:19C 升级到 19.22

目前 Oracle 19C 是最新的稳定支持的版本,生产环境中使用的越来越多。当然,随着客户使用量的增多,自然无可避免的产生了很多 BUG,Oracle 每季度都会发布一个 RU 补丁来修复当前季度所产生的一些重要 BUG 补丁。作为 DBA,DB 补丁修复必然是需要掌握的一项技能。本文将介绍如何将数据库升级到最新的 RU 版本。

LuciferLiu_DBA 845

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java与access数据库的连接_Java如何创建与MS Access数据库的连接?

这是有关如何创建与MS Access数据库的数据库连接的示例。要允许对数据库访问进行身份验证,可以从Microsoft Access 2003中的“工具”->“安全性”->“用户和组帐户”菜单中添加安全用户帐户。在下面的示例中,我们可以通过先前在Windows系统上创建的DSN进行连接,也可以在程序中作为下面的长URL创建它。packageorg.nhooo.example.jdbc...

weixin_31520435的博客 232

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

QT中操作数据库(ACCESS、MySql)

(一)QODBC数据库编程连接详细介绍        QT QODBC数据库编程连接详细介绍是本文所介绍的内容,QT为数据库编程提供了一个类似JDBC的统一操作模型,它的底层是具体数据库或数据库接口的插件,由它们负责完成真正的数据库操作。 QT自带有QODBC Driver,在Windows平台上通过系统提供的ODBC Driver可以访问支持ODBC的数据库,如Ms Access

宏扬IT的专栏 950

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

本地连接远程access数据库

本文主要参考:https://blog.csdn.net/qq_25902435/article/details/77153401 第一步: 在B服务器中创建access数据 1、创建access数据库前,确保你的计算机中已经安装了MS office软件且配置了JAVA运行环境,顺便提个醒,下面的B服务器中要使用32位的jdk。 2、创建一个测试数据库,UserInfo.mdb(文件版本为...

qingo00o的博客 3777
上一篇: 未来JDK中将不再包含JDBC-ODBC桥
下一篇: Java 输出文件通过 BufferedWriter.newline() 方法换行的陷阱
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值