我已经使用 Visual Studio 2010 Ultimate、.Net Framework 4.0 版和 Access 数据库创建了 Windows 应用程序设置,它已在默认位置正确安装,但我想知道如果用户从该位置删除一些文件或数据怎么办,我该怎么办为此做什么?什么是正确的方法?
1 回答
你有很多选择可以做到这一点:
1. 使用您的 MS Access 数据库文件的编译可执行版本。
您可以将数据库编译成可执行文件。
但我不知道您是否可以从其他编程语言(如 C#)访问它。我认为你必须搜索互联网。
在 MS Access 2013 中:
转到文件->另存为->将数据库另存为->制作 ACCDE “文件将被编译为仅可执行文件。”
在 MS Access 2010 中:
转到文件->保存并发布->将数据库另存为->制作 ACCDE
在 MS Access 2007 中:
转到“数据库工具”功能区选项卡 ->制作 ACCDE(在“数据库工具”组中)
2. 使用密码加密数据库。
您可以使用密码保存您的 MS Access 数据库文件;这样,您必须在数据库连接字符串中设置密码才能访问它。
在 MS Access 2013 中:
转到文件->信息->使用密码加密“使用密码来限制对数据库的访问。使用 2007 Microsoft Access 文件格式或更高版本的文件已加密。”
转到文件->信息->解密数据库“从该数据库中删除密码”。
在 MS Access 2010 中:
转到文件->信息->使用密码加密
转到文件->信息->解密数据库
在 MS Access 2007 中:
转到数据库工具功能区选项卡 ->使用密码加密(在数据库工具组中)
转到数据库工具功能区选项卡 ->解密数据库(在数据库工具组中)
3. 备份您的主数据库。
您可以在其他地方创建数据库的备份版本;你可以通过两种方式做到这一点:
编写一些代码,使用 MS Access 的备份功能从数据库创建备份文件。您可以从 MS Access 程序手动执行此操作:
在 MS Access 2013 中:
转到文件->另存为->将数据库另存为->备份数据库“定期备份重要数据库以防止数据丢失。”
在 MS Access 2010 中:
转到文件->保存并发布->将数据库另存为->备份数据库
在 MS Access 2007 中:
转到Microsoft Office 按钮->管理->备份数据库(在管理此数据库下)
要创建备份文件,您只需编写一些代码即可创建文件的副本。
两者的情况如下:
添加或调用您的代码以获取最终用户关闭的应用程序的关闭时间。在后台线程中运行您的代码。复制或备份到某个地方,如下所示:
- %WINDIR%..\ProgramData\YourSubFolder(s)
- %USERPROFILE%\AppData\Local\YourSubFolder(s)
- %USERPROFILE%\AppData\LocalLow\YourSubFolder(s)
- %USERPROFILE%\AppData\Roaming\YourSubFolder(s)
- 其他地方,例如:
- 程序根文件夹或子文件夹中的另一个文件夹
- 您想要的另一个文件夹
- 等等。
提示:您可以将数据库文件(在程序的根文件夹或子文件夹中)和/或其备份文件(在其他地方)的属性更改为Read-only、Hidden、System、Read-only + 隐藏、只读 + 系统、隐藏 + 系统或只读 + 隐藏 + 系统 以提高安全性。
- 在默认显示项目模式下看不到隐藏文件;因此,要查看隐藏的项目,您必须执行以下操作:
或者
- 默认显示项目模式下看不到系统文件;因此,要查看系统项目,您必须执行以下操作:
通过执行此方案,您可以添加一些代码以在程序启动时运行,以检查其文件夹中是否存在数据库。如果找不到主数据库,只需将数据库从备份文件夹复制到应用程序文件夹/子文件夹中的初始文件夹即可。
4. 修改主备库的安全属性。
您可以更改主数据库(在程序的根文件夹或子文件夹中)及其备份文件(在其他地方)的安全属性,以限制对它们的访问,如下所示:
在最终用户关闭的应用程序的关闭时间添加或调用您的代码。在完成后台线程后运行您的代码以备份主数据库(如果您使用的是备份方案)。这些代码必须将 Security 属性更改为特定的 Windows OS 或 User-defined(如果您想使用它,必须由您定义)Group 或 User。使用这种方法,当程序没有运行时,没有人可以访问这两个数据库文件。
请记住,您必须在应用程序启动时添加或调用一些代码来更改两个数据库的安全属性;因为它们必须由应用程序访问。
如果要使用组,可以执行以下操作:
按照我上面提到的顺序,最好的解决方案是:
- 混合方法:
将所有方法组合在一起以实现更好,更安全的方法:
MS Access 数据库文件的编译可执行版本+使用密码加密+备份主数据库+更改两个数据库的安全属性