【问题标题】:How to connect to local database via website?如何通过网站连接到本地数据库?
【发布时间】:2011-01-11 09:44:16
【问题描述】:

我有一个客户用于报告目的的网站,并希望让客户可以选择我的网站直接读取他们的本地数据库(而不是他们以文件格式提供数据)。 在大多数情况下,他们的数据库将是在其本地主机上设置的 SQL Express。

如何使用 asp.net / javascript 等通过我的网站连接到客户端本地 SQL 服务器?如果客户端提供他们的连接字符串属性,localhost 将只是引用我服务器的 localhost...

考虑以下几点:

大多数人通过 ISP 连接到互联网。他们的数据库将在他们的本地主机上运行,​​并且不会有这样的公共地址。

理想情况下,客户端必须提供一些连接字符串(数据库名称、登录名等)并且我的服务器必须连接。

VPN 无法解决这个问题 - 我必须(以编程方式)连接到它们并提取数据,而不是相反。

谢谢

【问题讨论】:

  • @NeilKnight,这是一个很难放入谷歌搜索字符串的概念。为此,我花了大约一周的时间搜索大约 1 - 2 小时/天,我之所以找到它,是因为这里的“”窗口中的建议窗口(SO)。卡罗,正是我想要的。在这个问题上也很镇定!

标签: c# asp.net sql


【解决方案1】:

如果您的客户端防火墙已配置为允许连接到 SQL Server(默认端口为 1433),则没有什么可以阻止您创建与它的连接。但是,这样做有安全方面的考虑。您的客户可能希望只允许来自您的网络服务器 IP 地址的连接。

您也可以考虑使用 VPN,例如 Windows 或 Hamachi 提供的 VPN。

【讨论】:

  • @Carlo,它 IS 以编程方式。出于安全原因,我刚刚提到了 VPN。您只需要一个连接字符串和他的防火墙来允许通过端口 1433(默认值)进行连接。这就是你所要做的。
  • 每个人都在删除他们的 cmets,感觉就像我在对自己做。
  • Moo-Juice :所以你是说如果客户端向我的服务器添加一个连接字符串,如下所示:“Integrated Security=SSPI;Initial Catalog=NorthWind;Data Source=localhost,1433;” - 我的服务器会知道 localhost,1433 指的是印度的某个客户的电脑,而不是它自己的 localhost?不知怎的,我不明白。
  • @Carlo,不。他们会输入他们机器的 IP 地址,而不是“localhost”。
  • 好的,谢谢,这是有道理的。我今晚会试试,让你知道。
【解决方案2】:

我认为如果运行数据库的计算机不在公共地址上,您会发现无法连接到远程数据库。他们需要 1) 指定他们的 public 地址 2) 在他们的防火墙中打开正确的端口。根据他们的设置(带有简单路由器/防火墙的家庭办公室,带有防火墙的公司办公室,他们无法随意更改等),这可能会或可能不会提供相当多的跳跃。

解决方案是让客户端首先连接到你们共享的 VPN,就像 Moo-Juice 提到的那样。

编辑:抱歉,您的问题中错过了关于 VPN 的最后一部分。如果我对您的理解正确,您基本上希望他们能够作为“客户端”连接到您的应用程序,但他们发送的数据将是他们的数据库。但是您希望它与未在 Internet 上公开共享其数据库服务器的客户端一起使用吗?对我来说,这似乎很难完成,但我又不是很擅长客户端脚本。

【讨论】:

    【解决方案3】:

    但如果您的客户提供 SQL Server 主机地址,ADO.NET 或任何依赖它的层都会连接到正确的服务器,而不是您的本地服务器。

    我错了吗?

    【讨论】:

    • 如果他们的 SQL Server 主机地址不公开怎么办?大多数运行本地开发服务器的人并不是在公共地址上运行它 - 他们通过 ISP 连接到互联网。
    • @Carlo,他们的 ISP 为他们分配了一个 IP 地址(即使是临时的)。没有这个,他们的互联网体验会有些乏味。
    【解决方案4】:

    您需要使用 dns 服务器,例如 dyndns。您可以通过一个网址免费试用。然后设置一个iis服务器。

    【讨论】:

      【解决方案5】:

      我会设置一个本地 SQL 数据库并通过 SilverLight 应用程序连接。然后您可以使用 Web (WCF) 服务读取数据并将数据提交回您的 Web 服务器/主数据库。

      我找到了有关将 Silverlight 连接到本地 SQL 数据库的链接。

      http://erikej.blogspot.com/2010/02/access-local-sql-compact-database-from.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-15
        • 2021-01-03
        • 2021-06-22
        • 2018-07-07
        相关资源
        最近更新 更多