【发布时间】:2009-05-11 18:14:32
【问题描述】:
我有一个使用 MS Access 数据库的 C# 程序,我正在使用 OleDb 连接并对该数据库进行查询。我的问题是我在数据库中有一些敏感信息,我不希望它显示为 Access DB。我更改了扩展名,但是当我打开它时,它仍然会创建 Access 使用的 .ldb 锁定文件。我想让数据库不创建那个锁文件。
我已经阅读了很多关于这个问题的帖子,听起来如果我以独占模式打开数据库,它不会创建那个 .ldb 文件。但是,到目前为止,我还没有找到任何用于 OleDb 的连接字符串,可以让我指定对数据库的独占访问权限。 C# 中的 OleDbConnection 对象也没有“模式”成员,因此无法以这种方式设置独占访问。
如果有人有任何可以在独占模式下打开数据库的连接字符串,或者如果有人知道另一种避免在 Access 中创建 .ldb 锁定文件的方法,我们将不胜感激。
【问题讨论】:
-
你想用这个来完成什么?如果它真的那么敏感,那么通过默默无闻的安全性在这里可能不是一个好主意。如果我试图窥探,我可能会认为该文件是一个 Access DB。
-
您似乎认为 LDB 文件本身构成了某种安全漏洞。 LDB 文件中没有存储来自您的数据文件的数据,只有有关锁定的元数据。 LDB 文件绝不是安全漏洞。 Jet MDB 文件本身当然很容易受到攻击,但这就是基于文件的数据库的本质。
-
如果您认为更改文件扩展名可以保护敏感数据,那么请三思!