惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
S
SegmentFault 最新的问题
量子位
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 司徒正美
博客园 - Franky
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
B
Blog RSS Feed
C
Check Point Blog
The Cloudflare Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
V
Visual Studio Blog
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - fisherman

学习写第一个SQL server触发器 操纵自如--页面内的配合与通信 一些DIV+CSS 命名规范 asp.net 2.0中生成RSS 避免重复提交 - fisherman - 博客园 button 删除确认 - fisherman - 博客园 用相对定位和负向移动完成图片象框阴影 负边距居中法(水平居中、垂直居中) - fisherman - 博客园 CSS 代码格式化工具 - fisherman - 博客园 JS代码的格式化和压缩 - fisherman - 博客园 把SQL SERVER里表里的数据导出成为insert into 脚本 对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进 下载网页中远程图片的方法 读取marc数据 关于ISO2709数据的格式说明 C#写的读取ISO2709格式数据的DLL 数据库打开 使用 Engine 对象创建 SQL Server Compact Edition 数据库 用SharpZipLib压缩和解压缩文件
Access数据库压缩和修复
fisherman · 2007-05-30 · via 博客园 - fisherman
 

Access数据库压缩/修复

Access数据库多次操作(插入、删除、导入)后,数据库文件会变的很大。为了解决这个问题,下面提供一个数据库压缩/修复的方案。

第一步:在项目中添加引用msjro.dll

第二步:导入名称空间:Imports JRO

第三步:插入压缩/修复函数

 1 ' <summary>
 2
 3    ' 压缩/修复数据库
 4
 5    ' FileName要压缩/修复数据库文件的路径
 6
 7    ' </summary>
 8
 9    Protected Sub CompressDb(ByVal FileName As String)
10
11        Dim StrConn1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName
12
13        Dim StrConn2 As String = StrConn1.ToLower().Replace(".mdb""_temp.mdb")
14
15 
16
17        Dim fileName1 As String = FileName.Substring(FileName.LastIndexOf("\\"+ 1)
18
19        Dim fileName2 As String = fileName1.ToLower().Replace(".mdb""_temp.mdb")
20
21 
22
23        Try
24
25            '先备份
26
27            File.Copy(fileName1, fileName1.ToLower().Replace(".mdb""_bak.mdb"), True)
28
29 
30
31            '开始压缩修复
32
33            Dim DatabaseEngin As JetEngine = New JetEngine()
34
35            DatabaseEngin.CompactDatabase(StrConn1, StrConn2)
36
37 
38
39            '删除原来的Data.mdb,并将Data_temp.mdb更名为Data.mdb
40
41            File.Copy(fileName2, fileName1, True)
42
43            If File.Exists(fileName2) Then
44
45                File.Delete(fileName2)
46
47            End If
48
49 
50
51            '删除备份
52
53            File.Delete(fileName1.ToLower().Replace(".mdb""_bak.mdb"))
54
55            MessageBox.Show("压缩/修复数据库成功!")
56
57        Catch
58
59            '恢复备份
60
61            File.Copy(fileName1.ToLower().Replace(".mdb""_bak.mdb"), fileName1, True)
62
63 
64
65            '删除备份文件
66
67            File.Delete(fileName1.ToLower().Replace(".mdb""_bak.mdb"))
68
69            MessageBox.Show("压缩/修复数据库失败!")
70
71        End Try
72
73    End Sub

74

第四步:调用方法:CompressDb(数据库文件绝对路径)

实例:CompressDb”c:\test\test.mdb”


实例(图一)

实例(图二)

点击下载