【问题标题】:VB.NET Simultaneous connections LocalDB DatabaseVB.NET 同时连接 LocalDB 数据库
【发布时间】:2016-03-15 21:26:22
【问题描述】:

我一直在使用一些 LocalDB 数据库(.mdf 文件)。一段时间以来,我一直是唯一一个使用这些数据库的人,但现在越来越多的人使用它。每次我们同时使用该应用程序时,都会出现错误,因为我们同时连接到数据库。

有没有办法允许同时连接到 SQL LocalDB 数据库? 如果不是,假设我们同时连接的人永远不会超过 5 人,那么最好的选择是什么?

这是我用来访问我的数据库文件的代码:

Public Shared Function SQLQuery(query As String, connectionString As String, tableName As String)
    Dim cn As New SqlConnection(connectionString)
    Dim cm As New SqlCommand(query, cn)
    Dim adp As New SqlDataAdapter(cm)
    Dim ds As New DataSet
    adp.Fill(ds, tableName)
    adp.Dispose()
    cm.Dispose()
    cn.Close()
    SQLQuery = ds
End Function

这是一个连接字符串的例子:

Public Shared connectionStringScreenDataDB As String = "Data Source=(LocalDB)\v11.0;AttachDbFilename='P:\Clement\Visual Studio\PanoramaFund2App\PanoramaFund2App\ScreenDataDB.mdf';Integrated Security=True"

【问题讨论】:

  • 标题中的“C# VB”...是哪一个?
  • 是VB,不过估计不依赖它吧?
  • 这听起来很奇怪..你能告诉我们错误是什么听起来像错误是关于你如何连接到数据库..你能告诉我们你如何连接的代码吗到 Sql Server 数据库
  • 使用 LocalDB 时,默认情况下您不能有多个连接到同一个实例。最初 LocalDB 应该是一个单用户解决方案。现在我认为可以在多个用户之间共享数据库请参阅msdn.microsoft.com/en-us/library/hh212961.aspx 关于共享选项(请注意用户启动实例的要求)
  • 谢谢,我刚刚添加了我正在使用的代码。

标签: sql-server vb.net localdb


【解决方案1】:

LocalDB 允许无限(本地)并发连接;见SQL Express v LocalDB v SQL Compact Edition

您的连接字符串似乎指向共享驱动器。 LocalDB 不接受远程连接。共享网络文件夹的想法可能有效(但我对此表示怀疑);请记住,只有一个 LocalDB 实例可以同时打开任何给定的数据库文件(和日志文件)。

替代方案:简而言之,LocalDB 的目的是在一台机器上的一个应用程序本地使用。如果您需要远程访问,您可以使用 SQL Server(不是 Express 版本)或任何其他数据库。

【讨论】:

  • 谢谢,您对在办公室共享数据库有什么最佳建议?
  • 查看更新:任何其他数据库,例如 SQL Server、MySQL 和 Oracle。
  • @Clement 与 LocalDB 不同,保存在服务器共享上的 Microsoft Access 数据库将允许并发访问。如果设计得当(如果您不太激进的话),它对多个用户非常有效,尤其是对于桌面应用程序。
【解决方案2】:

我可能有另一个想法。由于该文件是本地文件,并且多个用户正在访问它。您始终可以在线托管数据库,然后以这种方式链接到数据库。这将允许对数据库的所有编辑都是即时的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    相关资源
    最近更新 更多