iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >解决Access文件越来越大的问题
  • 202
分享到

解决Access文件越来越大的问题

摘要

有时候在使用Access文件的时候,随着增删改的不断的连续,会导致文件越来越大。即使手动删除或者使用delete语句删除了大量的数据记录,会发现文件的大小依然没有减掉,而且随着你再往里写数据,又会增大。 产生这个现象的原因跟Access本身

解决Access文件越来越大的问题[数据库教程]

有时候在使用Access文件的时候,随着增删改的不断的连续,会导致文件越来越大。即使手动删除或者使用delete语句删除了大量的数据记录,会发现文件的大小依然没有减掉,而且随着你再往里写数据,又会增大。

产生这个现象的原因跟Access本身的机制有关,具体也不清楚,好像是有什么历史记录还是什么存储碎片。ACCESS数据库在进行删除操作后,并不从该数据库中把数据清除掉,而是删除其索引相关的东西,虽然显示不出来,但是那些东西还是在文件中存在的,所以会引起ACCESS数据库文件越来越大。即使是我们不通过代码来访问access文件,而只是通过用户界面访问,随着文件的增大,也会带来一系列的问题。其症状包括:对象可能打开得更慢,查询可能比正常情况下运行的时间更长,各种典型操作通常似乎也需要使用更长时间。更何况如果在网站应用中,采用的是Access作为数据库的话,这里就有了性能上的问题。文件越来越大,会影响查询的速度,而且ACCESS是采用独占方式工作的,也就是说一次只能一个进程打开这个数据库执行操作,如果是多个用户的话就要"排队"了,所以ACCESS数据库如果变为很大的话,执行一个查询时间就会变长,而进程"排队"的等待时间也就会变得很久,专业型的数据库就不同,可以同时接收多个并发的访问,可以采用sql数据库或其它大型并发数很强的数据库。

 

但是很多时候我们是需要Access文件,往不同的地方拷贝的,比如说,一个Server上生成了一个Access文件,需要拷贝到另外的Server上,而且Server间如果网速不是很好的话,会需要很长的时间来传输这个文件。所以这时候我们希望这个文件在内容不变的前提下,越小越好。所以我们可以去除这个Access的冗余信息。

 

Office Access本身就有这种功能,我们可以通过菜单找到这个工具,然后单击这个图标手动压缩。

技术分享图片

 

但是如果觉得每次手动去压缩的话很麻烦,我们可以设置每次关闭Access的时候,让它自己完成压缩。只要勾选下边的选框就可以。

 

技术分享图片

 

但是注意,上边的解决方案前提是,机器上安装了Office Access. 

 

比如说在一个服务器上,我有一个应用是以Access做数据库的,但是只是通过C#代码来操作这个文件,服务器上根本没有安装Office Access.随着代码不断的操作这个文件,这个文件还是会变大。然后我们如果想拷贝这个文件,但是越来越大,越来越慢。此时我们怎么压缩?我们可以在代码中加入一些代码,这些代码可以在功能完成后,自动的压缩Access文件。可以把这些代码加入到你的业务逻辑代码后边。等所有的东西都完成了,执行以下这几句代码就可以了。

首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间; 
接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间 
注意:如,导入dll不成功,手动把com组件 导入为 .net组件,在用vs.net工具导入 

 

 1 ///压缩修复ACCESS数据库,mdbPath为数据库绝对路径
 2         public void Compact(string mdbPath)
 3         {
 4             if (!File.Exists(mdbPath)) //检查数据库是否已存在
 5             {
 6                 throw new Exception("目标数据库不存在,无法压缩");
 7             }
 8             //声明临时数据库的名称
 9             string temp = DateTime.Now.Year.ToString();
10             temp += DateTime.Now.Month.ToString();
11             temp += DateTime.Now.Day.ToString();
12             temp += DateTime.Now.Hour.ToString();
13             temp += DateTime.Now.Minute.ToString();
14             temp += DateTime.Now.Second.ToString() + ".bak";
15             temp = mdbPath.Substring(0, mdbPath.LastIndexOf("") + 1) + temp;
16             //定义临时数据库的连接字符串
17             string temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp;
18             //定义目标数据库的连接字符串
19             string mdbPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database PassWord=l1epc2";
20             //创建一个JetEngineClass对象的实例
21             JetEngineClass jt = new JetEngineClass();
22             //使用JetEngineClass对象的CompactDatabase方法压缩修复数据库
23             jt.CompactDatabase(mdbPath2, temp2);
24             //拷贝临时数据库到目标数据库(覆盖)
25             File.Copy(temp, mdbPath, true);
26             //最后删除临时数据库
27             File.Delete(temp);
28         }

 

解决Access文件越来越大的问题

原文:https://www.cnblogs.com/xiongyunsheng/p/13437148.html

您可能感兴趣的文档:

--结束END--

本文标题: 解决Access文件越来越大的问题

本文链接: https://www.lsjlt.com/news/7727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • IDEA中target文件夹越来越大如何解决
    这篇文章主要介绍了IDEA中target文件夹越来越大如何解决,此处给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:问题这是正常的target目录大小可以看到,target正常情况下,也就是第一次编译后的容...
    99+
    2023-06-06
  • 如何解决Windows系统越来越慢的问题
    这篇文章主要为大家展示了“如何解决Windows系统越来越慢的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决Windows系统越来越慢的问题”这篇文章吧。方法一:打开计算机管理页面,...
    99+
    2023-06-28
  • Win7系统WinSXS文件夹越来越大怎么办
    现在很多用户发现使用C盘的WinSXS文件夹总是越来越大。为什么会这样?Win7系统WinSXS文件夹越来越大怎么办?在这里,我想和大家分享一下Win7系统WinSXS文件夹越来越大的解决方案。为什么WinSXS文件夹越来越大?首先:Win...
    99+
    2023-07-12
  • PC流量越来越低的解决方法
    这篇文章给大家分享的是有关PC流量越来越低的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  便捷性:  我们所有人都在追求高效、便捷,怎么简单怎么来的生活方式,从私家车的出行,到选择地铁的出行也无一不是...
    99+
    2023-06-10
  • win7的C盘空间越来越小如何解决
    这篇“win7的C盘空间越来越小如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win7的C盘空间越来越小如何解决”文...
    99+
    2023-06-27
  • keras的get_value运行越来越慢的解决方案
    keras 深度学习框架中get_value函数运行越来越慢,内存消耗越来越大问题 问题描述 如上图所示,经过时间和内存消耗跟踪测试,发现是keras.backend.get_va...
    99+
    2024-04-02
  • 如何解决vue跨越问题
    随着Vue在前端开发中的广泛应用,越来越多的开发者也遇到了Vue跨域问题。Vue跨域问题通常是由服务端接口地址与前端网页地址不同域名所导致的。在这篇文章中,我们将探讨Vue跨域问题的原因及解决方法。跨域问题起因跨域问题是由同源策略导致的。同...
    99+
    2023-05-24
  • CSS中如何解决越界的问题
    这期内容当中小编将会给大家带来有关CSS中如何解决越界的问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。CSS相关知识(1)如何解决父元素的第一个子元素的margin-...
    99+
    2024-04-02
  • win7更改ie浏览器临时文件大小和路径避免C盘越来越小
    当我们平时在使用浏览器的时候,在浏览的过程中总是会留下一些临时文件和缓存文件,默认是存在系统盘,但是随着使用时间久了,就会导致C盘越来越小的情况和文编程客栈件放不下了,那么我们可以对临时文件的大小和路径进行更改一下就可以...
    99+
    2023-06-06
    win7 浏览器 临时文件 大小 路径 C
  • Python脚本索引越界问题怎么解决
    Python脚本索引越界问题可以通过以下几种方式解决:1. 检查索引范围:在访问索引之前,先检查索引是否越界。可以使用条件语句(例如...
    99+
    2023-08-18
    Python
  • 安装Win10后C盘空间不足越来越少的两个解决方法
      使用电脑就得考虑到C盘空间容量,无论是软件还是系统,还是令人烦不胜烦的缓存。装上Win10C盘空间就直接满了,那就想想怎么办,想不出办法就看看本文支出的招数吧。   1. 用系统自带的磁盘管理把D盘搞点过来。D盘先删...
    99+
    2023-06-09
    Win10 C盘空间 越来越少 空间 C 解决
  • C++中常见的数组越界问题解决方案
    C++中常见的数组越界问题解决方案,需要具体代码示例在C++编程中,数组越界是一个常见的错误。当我们在访问数组中的元素时超出了数组的索引范围,就会导致程序出现未定义的行为。为了避免这类错误,我们需要采取一些解决方案。解决方案一:正确使用数组...
    99+
    2023-10-22
    异常处理 (Exception Handling) 边界检查 (Boundary checking) 调试工具 (Deb
  • C语言数组越界引发的死循环问题解决
    目录一、引入二、代码缺陷三、为什么会死循环?四、补充说明五、总结一、引入 下面的程序在VS编译器会出现什么问题?运行结果是什么?为什么? #include <stdio.h&g...
    99+
    2022-11-13
    C语言 数组越界
  • Tomcat解决catalina.out文件过大的问题
    目录前言暴力型技术型前言 有用Tomcat的,绝对都会遇到这样一个问题:catalina.out文件过大。 它是Tomcat默认生成的日志文件,会随着时间的推移,逐渐增大,不断的增长...
    99+
    2024-04-02
  • 文件系统的大冒险:穿越操作系统的地图
    ...
    99+
    2024-04-02
  • 跨越障碍:利用Vue TypeScript与Vue Router的技巧解决常见问题
    Vue.js是一个流行的前端JavaScript框架,提供了丰富的功能来构建交互式用户界面。Vue TypeScript是将TypeScript与Vue.js结合使用的扩展库,允许开发者使用TypeScript开发Vue.js应用。Vu...
    99+
    2024-02-09
    Vue TypeScript Vue Router 路由 传参 导航守卫 动画 过度
  • vue中的vendor.js文件过大问题及解决
    目录vue vendor.js文件过大问题1. cdn 引入2. 在使用vue等包的地方,注释掉import引入3. 打包忽视掉vue等包vue打包降低vendors.js文件大小v...
    99+
    2022-11-13
    vue中vendor.js vendor.js文件过大 vue vendor过大
  • 打开PDF文件后,总是弹出数字越界的解决方案教程
    PDF是人们经常使用的电子文档格式之一。尽管用户非常喜爱它的印刷质量、不失真以及便携性等方面的优点,但在实际使用中经常面临各种问题。使用Windows 7 Ultimate的用户反映说,每次打开PDF文件时都会遇到数字越界提示,这一点非常令...
    99+
    2023-07-13
  • Python大数据量文本文件问题怎么解决
    这篇文章主要介绍“Python大数据量文本文件问题怎么解决”,在日常操作中,相信很多人在Python大数据量文本文件问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python大数据量文本文件问题怎...
    99+
    2023-07-04
  • SpringMVC文件上传中要解决的问题大汇总
    目录SpringMVC文件上传中要解决的问题一、中文文件名编码问题二、文件位置存储问题三、文件名冲突问题四、控制文件类型和大小 五、上传图片回显问题六、进度条问题七、单独准...
    99+
    2023-01-15
    SpringMVC文件上传问题 SpringMVC文件上传
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作