C# 如何实现Access数据库文件(.accdb)的压缩和修复拜托各位大神

C# 如何实现Access数据库文件(.accdb)的压缩和修复拜托各位大神,第1张

C#压缩Access数据库 1、 /// <summary>/// connectionString 数据库连接字符串 /// mdwfilename 数据库绝对路径+数据库名 /// </summary>/// <param name="connectionString"></param>/// <param name="mdwfilename"></param>static void CompactAccessDB(string connectionString, string mdwfilename) { object[] oParamsobject objJRO = Activator.CreateInstance(Type.GetTypeFromProgID("JRO.JetEngine"))oParams = new object[] {connectionString, "Provider=Microsoft.Jet.OLEDB.4.0DataSource=C:\\temp.mdbJet OLEDB:Engine Type=5"}objJRO.GetType().InvokeMember("CompactDatabase",System.Reflection.BindingFlags.InvokeMethod, null,objJRO,oParams)System.IO.File.Delete(mdwfilename)System.IO.File.Move("C:\\temp.mdb", mdwfilename)System.Runtime.InteropServices.Marshal.ReleaseComObject(objJRO)objJRO = null} 2./// JetEngine x = new JetEngine()x.CompactDatabase(connectstring, "Provider=Microsoft.Jet.OLEDB.4.0Data Source=C:\\temp.mdbJet OLEDB:Engine Type=5User ID=AdminPassword=")//第二个参数是用来存放压缩后数据库的 System.IO.File.Delete(mdbfilename)System.IO.File.Move("C:\\temp.mdb", mdbfilename)/// 两种方法,第一种比较难理解,第二种添加dll,简单易用。我在程序中用的第一 种方法,避免了添加dll但是需要从数据库连接字符串里解析出mdwfilename。此 外,在调用上述方法前都得先关闭数据库连接,因为毕竟都得delete旧数据库的 。 另外,你可以参考 http://www.codeproject.com/KB/database/mdbcompact_latebind.aspx 或者到csdn里多问问。

accdb文件使用Access2007以上版本的软件打开,具体打开方法如下(以Windows10系统的Access2016版为例):

1、使用桌面搜索或双击桌面上的快捷方式打开Access应用程序。

2、在界面左边点击“打开其他文件”按钮。

3、在随后进入的界面中点击“浏览”按钮。

4、在接着打开的对话框中即可看到Access文件包括扩展名为accdb的文件。此时选择一个扩展名为accdb的文件,并点击“打开”即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8144641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存