7

我的要求是“锁定我们的数据库文件的方式是允许从我们的应用程序进程中执行的所有操作,仅阻止第三方应用程序/服务访问。” 为了确保第三方软件在我们的应用程序运行后不会锁定我们的任何数据库文件,我们应该明确锁定所有数据库文件以防止这种情况发生。

背景:我正在开发一个桌面应用程序和 sql ce 作为数据库和 N-hibernate。有时,当我们的应用程序运行第三方软件时,例如备份软件,这些软件会经常运行并在那时进行系统备份,它会锁定我们的数据库文件。

所以我对启动我的应用程序的要求我应该锁定我的数据库文件,这样我的应用程序中的任何线程或任何操作都应该执行数据库上的所有操作,但第 3 方操作应该受到限制。

我尝试使用 FileLock 的示例,但是当通过 N 休眠执行某些数据库操作时,这在我的应用程序中失败了。请帮助我,如果可以的话,这真的可以实现,请告诉我。

4

3 回答 3

0

用于File.Open写操作而不释放它通常会保持对文件的锁定。其他人将无法书写,但他们仍然可以阅读。

于 2012-09-18T15:54:47.120 回答
0

创建一个新帐户/用户。仅覆盖此用户的文件权限。并将您的应用程序模拟给这个新创建的用户。结果其他用户无法使用您的文件。

于 2012-09-18T17:11:30.830 回答
-1

我不知道 SQLCE 从什么时候开始支持桌面应用程序的。我更喜欢使用SQLite。它本机支持锁定数据库文件,仅使用 sqlite 提供程序。检查出。如果您需要更多详细信息,请告诉我。

于 2013-01-09T06:53:00.083 回答