当前位置: 首页 > news >正文

java 关闭access文件资源后,无法删除文件

复现问题

 // 数据库驱动String DRIVER_CLASS = "net.ucanaccess.jdbc.UcanaccessDriver";// 数据库连接地址String DB_URL = "jdbc:ucanaccess://D/test.mdb";String DB_USER = ""; // 数据库用户名称String DB_PASSWORD = "";// 数据库用户密码accessDriverHelper = new AccessDriverHelper(DRIVER_CLASS, DB_URL, DB_USER, DB_PASSWORD);

这样子打开mdb文件后,close连接,使用file.delete()无法被删除,会提示被JVM占用。

原因

默认情况下,Access 使用immediatelyReleaseResources=false 打开到数据库文件的连接。在这种情况下,当 java.sql.Connection 关闭时,Access 实际上会保持文件句柄和 HSQLDB 资源打开一小段时间,以防应用程序想要重新建立与数据库。

// 数据库连接地址/** memory:驱动程序属性memory默认是true的,当处理大型数据库,如果JVM内存不足,将会造成JVM内存溢出,建议使用者* 使用-Xms和-Xmx选项为JVM分配足够的内存。否则,必须将驱动程序的“memory”属性设置为“false”。** Skipindexes:(UCanAccess 2.0.9.4版本以后):为了最小化内存占用,它允许跳过简单索引的创建。它对引用完整性约束** ignorecase:文本的大小写敏感性。** immediatelyReleaseResources:(取代UCanAccess 3.0.6版本以后被弃用的singleConnection):它用于ETL作业、计划* 任务,或者在只打开一个连接的情况下“一次性”使用UCanAccess。所有资源(内存和文件系统)将在连接结束时释放。默认* 设置为false。*/

正确的连接

// 数据库驱动String DRIVER_CLASS = "net.ucanaccess.jdbc.UcanaccessDriver";// 数据库连接地址String DB_URL = "jdbc:ucanaccess://" + filePathMDB + ";memory=false;Skipindexes=true;ignorecase=true;immediatelyReleaseResources=true";String DB_USER = ""; // 数据库用户名称String DB_PASSWORD = "";// 数据库用户密码accessDriverHelper = new AccessDriverHelper(DRIVER_CLASS, DB_URL, DB_USER, DB_PASSWORD);
http://www.lryc.cn/news/205256.html

相关文章:

  • Typecho 添加 Emoji 表情报错「解决方案」
  • 【C#】委托与事件
  • 化工园区数字孪生可视化管控平台,赋予园区安全环保智慧发展
  • Laplacian算子详解及例程
  • 《数据结构与算法》学习指导手册
  • ubuntu安装配置mantis
  • node后端接收pdf接口
  • [RPC] Motan快速开始
  • 仿美团外卖微信小程序源码/美团外卖优惠券领劵小程序-自带流量主模式
  • 【Python】Windows跟随程序启动和关闭系统代理
  • 信钰证券:华为汽车概念股持续活跃 圣龙股份斩获12连板
  • LSM Tree 深度解析
  • BurpSuite安装
  • VB.NET 三层登录系统实战:从设计到部署全流程详解
  • 【前端性能】性能优化手段-高频面试题
  • cleanmymacX4.14免费版mac清除浏览器缓存软件
  • 分享个包含各省、市、区的编码数据的在线静态资源脚本
  • Elasticsearch聚合----aggregations的简单使用
  • GOPS·2023上海站 | 提前剧透!阿里、腾讯、字节、擎创等专家齐聚上海,共话互联网运维
  • 防关联浏览器推荐:MuLogin指纹浏览器安全登录多平台账号
  • 部署SeaTunnel单节点Standalone 模式环境
  • 二十三、设计模式之组合模式![
  • hbase和aerospike基础概念及所对应的python包API使用
  • 监测难?误差大?北斗突破铁路监测预警难题,24小时全方位守护
  • kafka入门03——简单实战
  • 工作两年,本地git分支达到了惊人的361个,该怎么快速清理呢?
  • 行业追踪,2023-10-24
  • 【成功实现】CentOS磁盘扩容
  • 为什么亚马逊卖家一定要有独立站?新手低成本快速搭建跨境电商独立站完整图文教程
  • spring Environment上下文环境参数变量