【问题标题】:database for multi-user in vb6.0vb6.0中的多用户数据库
【发布时间】:2015-04-14 04:25:01
【问题描述】:

我通过使用 ms access 2003 和 vb6.0 作为我的项目完成了一个 ERP 系统,但是,当我为我的项目进行测试时,我发现了一个问题,即 ms access 2003 仅适用于 1 个人电脑用户,我需要它是不同电脑中的多用户并且能够同时进行读/写,任何人都可以告诉我应该如何使我的系统成为多用户系统?附上我对 adodb 和 adodc 的部分编码,请帮助我如何使这个 ERP 系统成为多用户,感谢您的帮助。

对于 Adodb:

Dim con As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\simewood.mdb" & "; Persist Security Info=False;"
con.CursorLocation = adUseClient
con.Open
strSQLmarketing = "select * from tblMarketing where Order_ID = '" & cboOrderID & "' and Model_ID = '" & cboModelID & "'"
With cmd
    .ActiveConnection = con
    .CommandText = strSQLmarketing
    .CommandType = adCmdText
End With
With rs
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Open cmd
End With

对于 Adodc:

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\simewood.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from tblLogin where status = 'enabled'"

【问题讨论】:

  • 它们都在本地 Windows 网络上吗?
  • not...不在本地网络中,它将被不同区域的多个网络访问

标签: database ms-access vb6 adodb


【解决方案1】:

Access 不是一次性的,它对多个用户非常满意(在一定程度上 - 见下文)。但是,每个用户都必须有权访问 .accdb 文件。因此,如果文件隐藏在一台 PC 上的非共享文件夹中,而另一台 PC 无法访问该文件夹,那么第二台 PC 将无法访问它。

Access 中的并发用户数是有限的。上次我将它用于多个用户(Access 97)时,它在大约 9 个并发用户时开始失去动力。我不知道最近的版本允许什么,但它不会像 SQL Server、Oracle MySQL/MariaDB 等“成熟”的数据库。

【讨论】:

  • 实际上真正的限制要接近 255 个用户。甚至这取决于使用场景。首先,您希望将应用程序限制为每个实例 1 个连接(常见错误)。然后您可以使用半连接模型,其中只有中间件连接/打开数据库本身。最后,在每个客户端实例有 1 个连接的洞穴人案例中,您可能需要行级锁定,但即使这样,如果有很多更新,锁定争用也会增加。但如果 9 个客户拖慢了你的速度,你可能做错了非常错误。
  • 我应该如何进行编码以使我的 .mdb 文件激活以实现多用户可访问性?你能给我一些样品吗?还是你有其他更好的推荐?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 2017-01-04
相关资源
最近更新 更多