Java ODBC 连接 MS Access 和 MS Excel

SQL Server 2022安装卡在数据库引擎配置?64位Access驱动是关键前置条件 SQL Server 是微软主流关系型数据库管理系统,其安装与运行依赖底层数据访问组件。其中,OLE DB 提供程序(如 ACE OLE DB)作为连接 Excel、Access 等 Office 数据源的核心接口,在 SQL Server 2022 中已升级为强制前置依赖。该组件由 Microsoft Access Database Engine 2016 Redistributable(64位)提供,必须在安装前静默部署,否则数据库引擎配置阶段将因预检失败而中断。这一机制影响导入导出向导、链接服务器及 阅读详情

Java ODBC 连接 MS Access 和 MS Excel :

1,ACCESS ODBC 连接url,如:
 不采用dsn:"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb"; //这种方式不需要配置ODBC DSN,需要写明物理路径
 需要配置系统dsn: "jdbc:odbc:mydb201411"

2,EXCEL ODBC 连接url,如:
 不采用dsn:
  查询: "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls"; //这种方式不需要配置ODBC DSN,需要写明物理路径
  更新: "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls;ReadOnly=0"
 需要配置系统dsn: "jdbc:odbc:myexceldb201411"

3,查询EXCEL ,表名用"[]"包裹sheet名,如:
 "select * from [logsheet2$] "
4,访问均支持 PreparedStatement

5,数据插入Access表,不支持一语句多条记录的方式,比如:"insert into xxx values ('',''),('','')"

 

--------------------------------------------------------------------------------------------------------------------------------------------

 

 public static void logquery_Access(){

  Connection con = null;
  ResultSet rs = null;  
  Statement st = null;
  try {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb"; //这种方式不需要配置ODBC DSN
   //String url = "jdbc:odbc:mydb201411";   //这种url也能访问,但是,需要配置 ODBC DSN
   con = DriverManager.getConnection(url);
   String sql = "select * from matterlogs ";   
   st = con.createStatement();
   rs = st.executeQuery(sql);
   while (rs.next()) {
    String s = "";
    for (int i = 1; i < 6; i++) {
     s+= rs.getString(i)+",";
    }
    System.out.println(s);    
   }    
   
  } catch (ClassNotFoundException e) {   
   e.printStackTrace();
  } catch (SQLException e) {   
   e.printStackTrace();
  } finally{   
   try {
    if( rs!=null )   rs.close();
   } catch (SQLException e) {    
    e.printStackTrace();
   }
   try {
    if( st!=null ) st.close();
   } catch (SQLException e) {    
    e.printStackTrace();
   }
   try {
    if( !con.isClosed() ) con.close();
   } catch (SQLException e) {    
    e.printStackTrace();
   }   
  }  
 }
 
 public static int loginsert_Access(){
  int res = 0 ;
  Connection con = null;  
  Statement st = null;
  try {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb";//这种方式不需要配置ODBC DSN
   //String url = "jdbc:odbc:mydb201411";  //这种url也能访问,但是,需要配置 ODBC DSN
   con = DriverManager.getConnection(url);
   String sql = "insert into matterlogs (id,htime,host,matters) values('14','2014-02-03 12:34:56','OA','geton') ;";   
   st = con.createStatement();
   res = st.executeUpdate(sql);      
   
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally{   
   try {
    if( st!=null ) st.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
   try {
    if( !con.isClosed() ) con.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }   
  } 
  return res; 
 }
 
 public static void logsinsert_Access(){
  
  Connection con = null;  
  //Statement st = null;
  PreparedStatement ps = null;
  try {
   
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb";//这种方式不需要配置ODBC DSN
   //String url = "jdbc:odbc:mydb201411";  //这种url也能访问,但是,需要配置 ODBC DSN
   con = DriverManager.getConnection(url);
   String sql = "insert into matterlogs (id,htime,host,matters) values(?,?,?,?) ;"; 
   con.setAutoCommit(false);
   ps = con.prepareStatement(sql);
   for (int i = 0; i < 5; i++) {
    ps.setString(1, "15");
    ps.setString(3, "SP");
    ps.setString(2, DateFormat.getDateInstance().format(new Date(System.currentTimeMillis())));
    ps.setString(4, "get"+String.valueOf(i));
    ps.addBatch();
   }
   ps.executeBatch();
   con.commit();   
         
   
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally{   
   try {
    if( ps!=null ) ps.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
   try {
    if( !con.isClosed() ) con.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }   
  } 
  
 }
 
 public static void logquery_Excel(){


  Connection con = null;
  ResultSet rs = null;  
  Statement st = null;
  try {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   String url = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls"; //这种方式不需要配置ODBC DSN
   //String url = "jdbc:odbc:myexceldb201411";   //这种url也能访问,但是,需要配置 ODBC DSN
   con = DriverManager.getConnection(url);
   String sql = "select * from [logsheet2$] where host='admin' ";   
   st = con.createStatement();
   rs = st.executeQuery(sql);
   while (rs.next()) {
    String s = "";
    s+= rs.getString(1)+",";
    s+= rs.getString(2)+",";
    s+= rs.getString(3)+",";
    s+= rs.getString(4)+",";    
    System.out.println(s);    
   }    
   
  } catch (ClassNotFoundException e) {   
   e.printStackTrace();
  } catch (SQLException e) {   
   e.printStackTrace();
  } finally{   
   try {
    if( rs!=null )   rs.close();
   } catch (SQLException e) {    
    e.printStackTrace();
   }
   try {
    if( st!=null ) st.close();
   } catch (SQLException e) {    
    e.printStackTrace();
   }
   try {
    if( !con.isClosed() ) con.close();
   } catch (SQLException e) {    
    e.printStackTrace();
   }   
  }  
 
 }
 
 public static void logsinsert_Excel(){
  
  Connection con = null;   
  Statement st = null;
  try {
   
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   String url = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls;ReadOnly=0";//这种方式不需要配置ODBC DSN   
   con = DriverManager.getConnection(url);
   String sql = "insert into [logsheet2$] (id,htime,host,matters) values('22','2014-12-12 01:02:03','admin','logoff') ;"; 
   st = con.createStatement();
   st.executeUpdate(sql);         
   
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally{   
   try {
    if( st!=null ) st.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
   try {
    if( !con.isClosed() ) con.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }   
  } 
  
 }

MongoDB文档模型本质:从松散模式到聚合管道的数据治理哲学 文档数据库是一种以JSON-like结构为基本存储单元的NoSQL数据模型,其核心原理在于将业务实体封装为自包含、可索引、可部分更新的BSON文档,从而摆脱关系型数据库中预定义Schema与多表JOIN的刚性约束。这种设计赋予了系统天然的模式灵活性与水平扩展能力,技术价值体现在显著降低高频迭代场景下的数据演化成本——如电商SKU属性动态扩展、IoT设备字段实时新增等。典型应用场景包括内容管理系统、用户画像服务、实时分析看板及微服务间松耦合数据交换。本文深入解析MongoDB作为文档数据库代表的建模思想、聚合 阅读详情

相关推荐

DataCamp Workspace:SQL学习者的免配置沙盒实战指南

SQL 是数据查询与分析的核心语言,其本质在于描述‘数据在哪、如何关联、怎样聚合’的逻辑。掌握 SELECT、JOIN、GROUP BY 等基础语法后,真正的学习瓶颈往往不是语法本身,而是环境配置——数据库连接失败、CSV 编码错误、驱动版本冲突等‘环境噪音’严重干扰初学者的思维连贯性。DuckDB 作为嵌入式 OLAP 引擎,凭借毫秒级启动、零依赖部署和标准 SQL 兼容性,成为教学与轻量分析的理想执行层。DataCamp Workspace 正是基于 DuckDB 构建的浏览器内 SQL 沙盒,实现上传

weixin_34067102的博客 359

java odbc excel_ODBC操作excel

//ODBC连接Excelpublic static void main(String[] args) {Connection conn = null;Statement stm = null;ResultSet rs = null;try {//加载ODBC驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//创建连接对象conn = DriverM...

weixin_30346649的博客 344

数据库国产化探究及升级改造过程指导

当前官网最新版本为DM8,相较于目前主流产品架构:不同特性依靠不同内核去实现,DM8独特采用了双存储引擎架构,行存储引擎和列存储引擎可相互配合、协同工作。同时实现了计算层和存储层的分离,同一内核既支持共享存储式集群,也支持分布式事务集群。

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 5374

Java读取Excel文件的几种方法

Java读取Excel文件的几种方法 最近单位有个项目需要读取excel文件的内容,特别对java读取excel文件的方法做了一点学习,也为了其他人以后能更简单地开发,少走弯路,特写此文,以下程序经过了我的测试,可以保证程序可用,如果你照搬都不行,可能是你的环境有问题。 读取excel文件的常用开源免费方法有以下几种:   JDBC-ODBC Excel Driver   jxl.jar

zhang103886108的专栏 3958

Delphi 5.0 安装盘在现代系统上的部署、配置与疑难问题全解析

在软件开发领域,遗留系统维护和特定硬件驱动对接是常见且关键的技术挑战。这通常涉及对经典开发工具和框架的深入理解与应用。Delphi,作为一款历史悠久的快速应用程序开发工具,其成熟的VCL框架和对原生Win32 API的高效封装,至今仍在许多工业控制、财务软件等核心生产系统中发挥着不可替代的作用。其技术价值在于能够以极高的执行效率和极小的程序体积,稳定地处理与古老板卡、PLC或通过DDE、COM组件进行的通信任务,实现“一个exe搞定一切”的部署便利性。面对诸如在64位Windows系统上部署32位开发环境、

weixin_34026276的博客 480

VC6+MFC开发桌面考试系统:从题库设计到部署避坑全指南

在职业教育、政企内训和传统制造业的考核场景中,桌面级考试系统凭借离线可用、环境可控、部署简单的特性,依然是刚需。这类系统无需复杂架构,核心在于稳定的单机运行与可靠的数据处理。C++与MFC作为经典桌面开发组合,通过合理设计题库表结构、实现基于随机数与难度权重的抽题算法,并利用SQLite进行本地持久化,即可高效支撑考试全流程。同时,老项目的工程化实践至关重要:ANSI编码处理、静态链接运行库、兼容性manifest配置以及基于spdlog的日志模块,都能显著提升软件在老旧Windows环境下的稳定性与可维护

weixin_30847865的博客 347

java excel odbc,直接通过ODBC读写Excel表格文件

直接通过ODBC读写Excel表格文件译者:(原作:Alexander Mikula)想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCELDRIVER (*.XLS)"。然后,可根据下面步骤进行: 1. 在StdAfx.h文件中加入:#include #include 2. 通过ODBC直接...

weixin_39898011的博客 267

JDBC-ODBC使用Excel作数据源

JDBC-ODBC使用Excel作数据源

常用数据库连接URL地址大全

转自:https://www.cnblogs.com/activiti/p/6703478.html 1、Oracle8/8i/9i数据库(thin模式) Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance(); String url=“jdbc:oracle:thin:@localhost:1521:orcl”; //orcl为数据库的SID String user=“test”; String password=“test”; Con

weixin_44336181的博客 7626

JdbcExcel纯Java连接Excel

纯Java连接Excel,内有两个包 任意一个都可以 一个有详细的API

通过ODBC访问Excel

能否在JSP页面中显示excel表格内的信息呢?答案是肯定的!!本实例实现了这一个功能。

windows下使用jdbc读写excel文件

使用java读写excel的方法不胜枚举,这里介绍的把excel文件当作一个数据库来对待并使用jdbc连接去读写它。还是那句话,存在就是合理的。每种读写excel的方法都有其优点和缺点,都有它所侧重的地方,都有适合它的应用场景。多掌握一种方法可能就意味着多一种选择,可能恰恰有的场景下这种解决方法就是最优的。当然勤于发现,善于发现就能看到更多的好处。jdbc早已经成为一种标准,正是因为它是一种标准,所以你如果掌握了这种标准就以为着你可以用最小的学习成本去学习这一类的东西。比如你只会写sql或者擅长写sql,那

weixin_38526093的博客 2421

瑞萨 RL78 开发环境实战:从 CS+ for CC 到 e² studio 高效开发

本文详细介绍了瑞萨RL78单片机开发环境的选择与配置,对比分析了CS+ for CC和e² studio的特点及适用场景。内容涵盖环境安装、工程创建、调试技巧、外设驱动开发和低功耗设计等实战经验,为开发者提供全面的RL78入门指南,帮助快速上手并高效开发。

4k5l6j7h8的博客 242

php 查看 postgresql,将Microsoft Access连接到phppgadmin以在PostgreSQL中查询

MS访问是multifaceted thing因为许多人倾向于将其前端gui.exe应用程序和不同的后端数据库(jet/ace sql engine,即windows.dll文件)混为一谈。大多数时候,我们参考它的MS Office应用程序。从技术上讲,MS Access实际上是与PHPGAdmin相同的产品类型:GUI控制台到数据库,它的默认数据库是上述引擎,但也可以集成其他ODBC/OLeDB...

weixin_31925811的博客 254

树莓派与无人机协同实战:基于OpenCV的地标识别优化策略

本文深入探讨了基于树莓派与无人机的协同系统,重点分享了利用OpenCV优化地标识别以实现精准降落的实战策略。内容涵盖从应对复杂光照的图像预处理、鲁棒的轮廓几何过滤,到通过ROS进行稳定通信,以及实现分层控制与状态机设计,旨在提升系统在真实环境中的可靠性与性能。

y2z3a4b5c的博客 1086

告别混乱!用Cadence Capture CIS高效管理你的原理图库:以单逻辑器件K9F2G08U0M为例

本文以单逻辑器件K9F2G08U0M为例,详细介绍了如何使用Cadence Capture CIS高效管理原理图库。通过三级分类体系、工程化命名规范和智能检索技术,帮助工程师实现从混乱到有序的转变,提升团队协作效率和设计准确性。

aizhi0169的博客 400

JDBC/ODBC/.NET连接数据库/数据文件的连接字符串大全

地址:http://www.java2000.net/connectionstring/ 连接字符串大全 数据库 SQL Server 2008 SQL Server 2005 SQL Server 2000, 7.0 SQL Server Compact Edition

老紫竹的专栏 1586

别再乱改宏定义了!STM32F103程序移植保姆级教程(从C8T6到ZET6实战)

本文详细解析了STM32F103程序从C8T6移植到ZET6的实战步骤,重点介绍了硬件差异、开发环境配置、时钟陷阱及外设处理等关键点。通过修改宏定义(如STM32F10X_HD)、调整启动文件和时钟配置,确保移植顺利进行。适合嵌入式开发者参考,避免常见移植问题。

weixin_42567497的博客 215

Java_常见格式的文件Java读写插件

How do I access the XYZ file format in java ? Specifications for many file formats can be found at Wotsit. A large database of file extensions be found at www.file-extensions.org and dotwhat.net An...

ALL TECHNOLOGIES ARE CLOUDS 464

多模态情感识别(MER)数据集实战指南:从IEMOCAP到应用落地

本文提供了多模态情感识别(MER)从数据集到应用落地的完整实战指南。以经典IEMOCAP数据集为例,详细讲解了音频、视觉、文本等多模态数据的预处理、特征提取与融合技术,并分享了模型训练调优心得及面向智能客服、在线教育等场景的部署考量,帮助开发者快速构建高效可用的MER系统。

h3i4j的博客 1071

杰理外挂flash使用教程(四):制作fat32文件系统格式的资源文件

本文档提供了FAT文件系统镜像生成与资源打包的完整指南,包含两种实现方案:推荐的WSL/Ubuntu环境方案和Windows原生方案。详细说明了从创建空白镜像、格式化、资源文件复制到最终打包为设备可用的res.bin文件的完整流程,并对比了FAT32与FAT16的特性差异。文档还包含关键文件说明、使用注意事项和典型应用场景,适用于嵌入式系统开发、固件升级等场景。

qq_42014563的博客 1339

AI Orchestration实战:MuleSoft与LangChain分层架构设计

AI Orchestration(AI编排)是企业将大语言模型深度融入业务流程的核心技术范式,其本质是通过可编排、可审计、可治理的执行框架,弥合‘用户自然语言指令’与‘多系统协同执行’之间的鸿沟。它并非简单调用LLM,而是聚焦数据主权、权限控制、语义理解与多跳推理的协同治理。关键技术原理包括分层解耦(如MuleSoft守数据边界、LangChain专精AI原生操作)、结构化上下文注入、动态路由与弹性降级。该架构显著提升AI应用在CRM、ERP等复杂企业环境中的合规性、稳定性与可观测性,已广泛应用于智能销售助

weixin_30825199的博客 398

《网络安全自学教程》- SQL注入之报错注入原理+步骤+实战操作

这篇文章为大家解析报错注入的实现原理,结合实战案例讲解报错注入的使用步骤。

wangyuxiang946的博客 1万+

qwen3.7-max+DMXAPI:面向业务语义的AI集成方法论

大模型落地难,本质不是算力或算法问题,而是业务语义与技术接口之间的断层。本文聚焦‘领域感知推理链(DARC)’和‘动态Schema适配器(DSA)’两大核心技术原理,解析如何让AI理解ERP字段逻辑、合同条款隐含约束、质检报告专业术语等真实业务语义,并通过DMXAPI实现与Java后台、Excel宏、老旧数据库等异构系统的零侵入对接。其技术价值在于将AI从‘调用式工具’升级为可编排、可审计、可SLA保障的智能基础设施,广泛适用于制造业质检归档、跨境电商多平台改写、律所合同条款提取等强业务耦合场景。qwen3

weixin_30265103的博客 460

Isaac Lab & GR00T N1 入门教程(七)人形机器人推理与技能学习策略基准测试

本文介绍了IsaacLab设计的工业机器人操作评估系统,包含两项任务:螺母倾倒(成功率91%)和排气管分拣(成功率95%)。系统支持通过IsaacGR00TN1模型进行策略闭环评估,提供完整的开发环境配置指南(需Ubuntu22.04、CUDA12.8等环境),数据集下载方式(HuggingFace平台托管),以及模型微调流程。评估支持并行化测试(建议10-30个并行环境),并给出详细硬件配置建议(推荐RTX A6000 Ada显卡)。文档还包含常见问题解决方案,特别说明当前暂不支持Blackwell GP

2506_90492529的博客 1118

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

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

下一篇: 用JASPER开发需要的一些jar包
johnsearcher
博客等级 码龄17年 12粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值