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

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 526

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

【ESP32开发】——开发环境搭建(VSCode+PlatformIO)

本章内容主要介绍ESP32的开发环境搭建(基于VSCode+PlatformIO)的流程与相应的注意事项,避免开发ESP32止于环境搭建!在项目的维护过程中,可以更好地管理和更新代码、调试问题,并且能够快速适应和采用新的功能、库或硬件平台。:VSCode 的代码提示和自动补全功能,以及 PlatformIO 的管理工具,都能帮助你编写规范、格式良好且易于阅读的代码。:Arduino 框架是一种简单、易用的嵌入式开发框架,适用于快速原型开发和小型项目。需要选择对应自己开发的开发板型号。

m0_61934621的博客 8415

保姆级教程:在Ubuntu 22.04上用VLLM+OpenWebUI部署DeepSeek-R1-14B(含Q8量化模型下载)

本文提供在Ubuntu 22.04上使用VLLM和OpenWebUI部署DeepSeek-R1-14B大语言模型的完整教程,包括环境配置、模型下载、VLLM参数调优及OpenWebUI集成。特别针对Q8量化模型优化部署流程,解决CUDA版本冲突等常见问题,适合开发者快速搭建本地AI对话系统。

weixin_26712075的博客 430

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

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

老紫竹的专栏 1586

100多台物理GPU服务器,每台服务器上有8张GPU卡,组网

计算网用 IB/RoCEv2 保证低延迟高带宽,支撑 800+GPU 的分布式训练;管理网和存储网独立部署,避免干扰核心通信;全链路冗余和规范布线,确保集群稳定运行;搭配 Slurm/K8s 和监控工具,实现高效管理。该方案可支撑千亿参数大模型训练,且具备极强的扩展性,未来可平滑扩容至 200 + 台服务器。

weixin_42795092的博客 2020

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

Unity物理驱动3D汽车实现:从刚体控制到参数调优

在游戏开发中,刚体物理是实现真实物体运动与交互的核心技术。通过Unity的物理引擎,开发者可以模拟重力、碰撞、摩擦力等物理行为,为游戏世界注入真实感。其技术价值在于能够以符合物理规律的方式驱动游戏对象,避免穿墙、无视惯性等问题,从而提升游戏体验的真实性和沉浸感。这一原理广泛应用于角色控制、车辆模拟、物体破坏等场景。本文以3D小汽车为例,详细解析了如何通过Rigidbody组件施加力与扭矩,并利用C#脚本实现玩家输入逻辑,完成一辆可操控、能碰撞的物理驱动汽车。文中重点探讨了AddForce与角速度控制两种方案

weixin_34380948的博客 501

Centos7 XFS(dm-0):Internal error XFS_WANT_CORRUPTED_GOTO

在k8s的道路上我们都是小白,每天启动虚机都会遇到各种各样的问题,这不。部署的k8s虚机启动发现操作系统启动异常,提示如下报错信息。进入/dev/mapper目录下,查询目录下路径信息。可以通过对文件系统进行修复操作,操作如下。重启完成后虚机恢复正常登录。

hedao0515的专栏 4583

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

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

weixin_30825199的博客 398

SAP 合并报表(EC-CS)完整方法论 + 全业务操作步骤

SAP合并报表(EC-CS)方法论与操作指南摘要 SAP EC-CS模块提供完整的集团合并解决方案,其核心方法论基于会计准则和集团管控逻辑,通过6大维度构建标准化合并体系:组织架构标准化、数据采集标准化、外币换算规则化、内部交易自动化抵消、股权与商誉规范化、报表出具灵活化。 实施过程分为两个阶段: 上线前配置阶段(12个步骤):包括合并架构搭建、科目表配置、外币规则设定、抵消规则定义等基础工作 日常操作阶段(10个步骤):涵盖数据报送、外币换算、内部对账、自动抵消、调整分录等月结流程 系统优势包括: 支持多

金牌架构师 1364

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

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

weixin_30265103的博客 460

基于STM32、HAL库的IP5356M快充协议芯片简介及驱动程序设计

@param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。* @param hip: IP5356M句柄指针。

corlin6688的博客 1220

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值