微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 请教如何用SQL语句来压缩ACCESS数据库

请教如何用SQL语句来压缩ACCESS数据库

时间:10-02 整理:3721RD 点击:
通过对ACCESS数据库的“修复与压缩”会使程序的运行更加稳定和提高运行速度。——请教如何用SQL语句来压缩ACCESS数据库,只用SQL语句哟!谢谢!

SQL 是对数据库表(包括查询)的操作;“修复与压缩”是对数据库文件的操作。所以不知道用SQL是否能达到“修复与压缩”的目的。

如果要通过编程实现 “修复与压缩” 的功能可以用 CompactDatabase 方法:
- DAO :: DBEngine.CompactDatabase
- JRO :: CompactDatabase

百度搜一下一大把

CompactDatabase  方法:这个怎么使用,谢谢

假设编程环境为 Access VBA。首先要引用相应的库,比如 Microsoft Jet and Replication Object 2.6 Library。下面这段代码片段演示 CompactDatabase 的使用方法:


  1. Private Sub CompactDBFile()
  2. ' 压缩数据库文件
  3.     Const cstrTemporaryFileName = "Temporary.mdb"
  4.     Dim jroJE As New JRO.JetEngine
  5.     Dim strSourceFile As String
  6.     Dim strDestinationFile As String

  7.     ' 如果数据库文件之前已打开连接,则关闭该数据库文件的连接
  8.     If mconData.State adStateClosed Then CloseConnection

  9.     ' mstrFileName 含有欲操作的数据库文件名
  10.     strDestinationFile = GetDatabankDirectory & mstrFileName
  11.     If Dir(strDestinationFile) "" Then
  12.         ' 确保临时文件不存在
  13.         strSourceFile = GetDatabankDirectory & cstrTemporaryFileName
  14.         If Dir(strSourceFile) "" Then Kill strSourceFile

  15.         ' 将欲压缩文件改名为临时文件
  16.         Name strDestinationFile As strSourceFile

  17.         ' 压缩临时文件
  18.         jroJE.CompactDatabase cstrConnection & strSourceFile & ";", cstrConnection & strDestinationFile & ";"
  19.         ’ 删除临时文件
  20.         Kill strSourceFile
  21.     End If
  22. End Sub

复制代码


另外,LZ也可以参考 Access VBA 中关于 CompactDatabase 方法的帮助:



谢谢,表示一片凌乱。现在有没有语句可以彻底删除数据?

记得有个“边学边干数据库”,里面有将压缩数据库,不知道是不是你想要的

谢谢,问题已解决,仍然表示感谢

请问是怎么解决的啊?我用Compact database方法,SourceConnection和Destconnection不知道要怎么填

其实6层有详细的资料,你能找到方法的,祝你好运。这个具体我也不记得有没用LabVIEW试过,反正现在忘了这个方法了

菜鸟来了,多多指教

好的,我再研究下,多谢

       好像可以了,贴个图给后来人参考,我用的不是JRO中的compact database,用的是Microsoft 0ffice 12.0 access database中的DAO.B Engine 方法


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top