zoukankan      html  css  js  c++  java
  • 数据库压缩(以mdb为测试对象,Arcengine——ILocalDataCompact接口与IDataCompact接口的使用)

    1 private void Compact()
    2         {
    3             IWorkspaceName pWSName = new WorkspaceNameClass();
    4             pWSName.WorkspaceFactoryProgID = "esriDataSourcesGDB.AccessWorkspaceFactory";
    5             pWSName.PathName = "c:/Users/Administrator/Desktop/TEST.mdb";
    6             MessageBox.Show(pWSName.Type.ToString());
    7             ILocalDatabaseCompact pLDCom = new ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass();
    8             pLDCom.Compact(pWSName);
    9         }
    public void Compact_1()
    {
          IWorkspaceFactory pWSFactory = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass();
            IWorkspace pWSpace = pWSFactory.OpenFromFile(string.Format("e:/2/{0}{1}", j, ".mdb"), 0);
            IDatabaseCompact pDBCompact = pWSpace as IDatabaseCompact;
            if (pDBCompact.CanCompact())
            {
                  pDBCompact.Compact();                    
            }      
    }

    若需要压缩其他类型,更改pWSName的WorkspaceFactoryProgID属性即可,

    手动着重号:只是提供这个方法,具体应用慎重,先备份数据!!!,亲测:压缩率可达到0.61%!!

     修改日期:20181105,

     修改内容:新加方法,相比第一种方法速度更高,耗时约为第一种方法的一半。

  • 相关阅读:
    shared_ptr weak_ptr boost 内存管理
    _vimrc win7 gvim
    qt 拖放
    数学小魔术 斐波那契数列
    qt4 程序 移植到 qt5
    (转)字符串匹配算法总结
    c++11
    BM 字符串匹配
    编译qt5 demo
    c++ 类库 学习资源
  • 原文地址:https://www.cnblogs.com/clgis/p/9817384.html
Copyright © 2011-2022 走看看