【问题标题】:How do I give a connection string to a server on a network?如何为网络上的服务器提供连接字符串?
【发布时间】:2011-06-21 20:54:19
【问题描述】:

我使用的是 SQLite,所以它只是一个文件,而不是服务器,但计划如下:

在一台机器上安装应用程序 + 物理 .sqlite 文件,并通过网络在另一台机器上,让其他用户连接到 .sqlite 文件。

所以我必须共享那个文件夹并授予它权限,让每个人都可以从中读取和写入。

这是我的 App.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
  <add name="ColegioMentorEntities" connectionString="metadata=res://*/Repositories.ColegioMentor.csdl|res://*/Repositories.ColegioMentor.ssdl|res://*/Repositories.ColegioMentor.msl;provider=System.Data.SQLite;provider connection string=&quot;data source=C:\Users\Sergio\Desktop\ColegioMentor.sqlite&quot;" providerName="System.Data.EntityClient" /></connectionStrings>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

看来我可以更改连接字符串!伟大的!但是如何在字符串中引用联网位置?

【问题讨论】:

    标签: c# .net sqlite connection-string app-config


    【解决方案1】:

    要回答您关于 ShareName 的问题,它将是共享文件夹的 shared 名称,如属性对话框 > 共享选项卡 > 共享名称中所示,而不是 Windows 资源管理器文件夹名称(假设您正在使用 Windows)。

    【讨论】:

      【解决方案2】:

      正如here 所建议的那样,如果您需要支持多个用户,则可能需要考虑使用 MySQL 之类的工具,因为同时访问 SQLite 时可能会出现潜在的损坏问题。

      虽然 SQLite 确实支持并发访问,但您可以在他们的 FAQ 上阅读一些注意事项(请参阅第 5 和第 6 项)。

      从那个页面:

      在两个人之间共享一个 SQLite 数据库 或更多的 Windows 机器可能会导致 意想不到的问题

      【讨论】:

      • 嗯……你吓到我了。您是否建议每天使用 RSync 连续同步每台计算机上的两个物理文件?这样每个用户都有最新版本。
      • 我建议使用 MySQL 或 PostgreSQL 而不是 SQLite,因为它们旨在支持像您这样的场景。
      • 我自己也不太了解 SQLite - 幸好你指出了一些限制。我可能会同意@ElectricDialect 在这方面的看法,并选择一个成熟的 DBMS。 Microsoft SQL Server Express 也是一个选项 - 它是免费的,可在此处获得:microsoft.com/express/Database
      【解决方案3】:

      首先想到的是标准的 UNC 路径,例如:

      \\ServerName\ShareName\Database.sqlite

      我希望这会有所帮助!

      【讨论】:

      • 在您的回答中,“ShareName”将是共享文件夹的名称,对吗?
      • 是的,先生!然后,您将授予您想要访问该共享读/写权限的用户,您应该是黄金!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 2013-08-29
      • 1970-01-01
      • 2022-11-25
      • 1970-01-01
      • 2014-09-18
      相关资源
      最近更新 更多