使用 vb.net 2010 锁定后端访问数据库中的表

Posted

技术标签:

【中文标题】使用 vb.net 2010 锁定后端访问数据库中的表【英文标题】:Locking tables in a backend access database using vb.net 2010 【发布时间】:2012-01-19 20:21:59 【问题描述】:

我的问题是我需要使用 access 数据库作为我的 visual basic.net 程序的后端。

数据库将被最多 10 个用户访问,但我想在用户更新记录时锁定表。

由于存储敏感信息,我无法在公司使用 SQL 服务器。

我对 ado.net 有一些基本的了解

我已经阅读了很多文章,但我找不到任何说明如何使用 Visual basic.net 锁定访问 .mdb 文件的文章

我知道 SQL 服务器是更好的选择,但目前这对我来说是不可能的选择

【问题讨论】:

“我无法使用公司的 SQL 服务器,因为它存储了敏感信息。”这对我来说根本没有任何意义。 SQL Server 比 Access 安全得多。 mysql 对你来说可能是个不错的选择。 公司告诉我,由于公司使用它来存储敏感数据,我不能将他们的 SQL 服务器用于我的程序。我的访问数据库不会包含任何敏感数据,它将存储在不同的服务器上。 不可能在同一个盒子上存储另一个 SQL Server 实例? 在与公司进一步讨论后,我被告知将使用我的程序的计算机将无法访问 SQL 服务器,因为有两个独立的网络。 【参考方案1】:

我怀疑您最好的选择是添加一个“锁定”表,其中包含数据库中每个表的记录和指示表是否已锁定的标志。

调用方法将负责在执行其代码之前检查此表。

因为您将使用单个记录,所以 Access 记录锁定机制应防止同时更新此表中的单个记录,但如果您获得了锁,您可能应该在获得它后仔细检查以确保它有效。

【讨论】:

访问记录锁定机制是访问的自动操作还是需要在 vb.net 中执行一些代码?如果它是 vb.net 中的手动操作,您是否有任何示例代码向我展示如何锁定记录?

以上是关于使用 vb.net 2010 锁定后端访问数据库中的表的主要内容,如果未能解决你的问题,请参考以下文章

来自访问数据库的 Vb.Net 预览报告

有没有使用 vb.net 更新访问表的快速方法?

vb.net(VS2010) vista下 修改注册表

带有MS访问数据库作为后端的VB.NET如何通过将数据库文件放入AppData文件夹进行部署?

Access 2010 无法跨网络共享数据库

在 VB.NET 中使用 OleDb.NET 调用 Access 2010 存储选择查询的异常