【问题标题】:connect to SQL hosted on a local machine from my laptop (using an IP)从我的笔记本电脑连接到本地计算机上托管的 SQL(使用 IP)
【发布时间】:2010-11-30 14:35:33
【问题描述】:

我在我的 Windows 7 PC 上设置了一个 SQL 服务器。

我有一台笔记本电脑,我想从它连接到 SQL 服务器(使用 Visual Studio 2010)。 创建数据库连接时需要填写“服务器名”。

我尝试了“My.IP.Address/SQLEXPRESS,custom-port”,但这不起作用。所有示例都在讨论使用格式为“TOM-PC/SQLEXPRESS”的服务器名称,但我有一个重要要求:

我希望能够从 任何地方 连接(不仅在同一个本地网络中),因此我尝试使用 IP 地址(端口不仅仅是 1433,因为我的ISP 阻止它)。

自定义端口已打开,可在测试中访问。


我整天都在谷歌上搜索,但找不到解决方案。请帮忙!

谢谢,

汤姆

【问题讨论】:

  • 如果你使用机器名是否有效?
  • 如果我在远程位置,本地机器名称在没有 IP 的情况下如何工作?
  • 您是否尝试通过笔记本电脑上的 VS2010 访问笔记本电脑上的 SQL?
  • 我在我的 PC @ home 上安装了 SQL Server 2008。我的笔记本电脑上有 Visual Studio 2010(如果需要,还有 SQL Server 2008)。我希望能够从我的笔记本电脑连接到我的 PC @ home 上的 SQL 服务器。
  • 您有机会查看这篇文章吗:stackoverflow.com/questions/89576/…

标签: sql sql-server-2008 sql-server-express


【解决方案1】:

要从远程位置访问,您需要在路由器上设置端口转发。如果您有一个面向外部的静态 IP 地址,那么您可以将其用作您的服务器地址 (123.123.123.123\SQLEXPRESS),否则您将需要设置一个动态 DNS 服务,例如 DynDNS.com,它将为您的路由器提供一个主机名。

DynDNS Free 允许您创建一个 指向您家的主机名或 办公室IP地址,提供一个 易于记忆的 URL,便于快速访问。 我们还提供了更新机制 这使得主机名可以使用 您的动态 IP 地址。我们继续 向用户免费提供这项服务 互联网社区,正如我们所做的那样 近 10 年。

【讨论】:

  • 这听起来很有趣。您是否有机会详细说明 DynDNS 到底是什么?如果我只是想将 2 台计算机同步到同一个小型 SQL 数据库,我应该使用什么服务......
  • @Tom:同步是什么意思?动态 DNS 是一种 DNS 服务,它为具有动态 IP 地址的设备提供主机名。这通常通过在 PC 上运行一个小实用程序来使用您当前的 IP 地址更新外部 DNS 服务来完成。
  • 这听起来可以解决我的问题!谢谢。我会检查一下并发布更新:-)
【解决方案2】:

不应该是 My.IP.Address:custom-port/SQLEXPRESS 吗?

【讨论】:

    【解决方案3】:

    如果您说您在位置 A 有一台带有 SQL 的 PC,并且您希望能够从任何地方访问它,那么您将需要一个来自您的 ISP 的静态 IP,一个具有适当的 NAT 规则。即使那样,当您在本地(在同一网络内)时,它也会是与您在本地咖啡店时不同的 IP。

    我的建议是使用本地服务器参考并在您的笔记本电脑上安装 SQL。如果您将您的作品发布到您家中的 PC,那么它也将使用那里的本地 SQL 服务器。这就是我所做的。我使用 RedGate 工具来同步我的数据库。


    如果您在同一台机器(您的笔记本电脑)上有 SQL 和 VS,并尝试从 VS 连接到 SQL 服务器(例如在调试器中),请尝试以下操作:(我一直在这样工作)

    您可以在 SQL 连接中使用(local). 作为server 来引用本地计算机。

    在你的情况下:

    (local)\SQLEXPRESS
    

    .\SQLEXPRESS
    

    【讨论】:

    • 但他想远程访问它
    • 如果我没有来自我的 ISP 的静态 IP,这是否意味着我每次重新启动路由器时都必须更新连接设置?这实际上意味着我无法按照我想要的方式进行设置?
    • @Tom,这完全正确(或参见 RedFilter 的回答)。请参阅我的建议。
    • @Tom,您可以使用动态 DNS 服务。这就是我 10 年来一直在做的事情。
    • 谢谢。所以我想我不能把我的电脑变成 SQL 服务器:-(
    【解决方案4】:

    您是否可能忽略了在配置管理器中为 SQLExpress 启用 TCP/IP?

    【讨论】:

      【解决方案5】:

      您是否尝试过使用通配符?比如让别人通过'%'访问你,既然你想让你的电脑在任何地方都能被访问,那么你的MySQL主机其实就是你的IP地址。

      【讨论】:

        猜你喜欢
        • 2015-10-31
        • 1970-01-01
        • 2021-09-02
        • 1970-01-01
        • 2022-01-25
        • 1970-01-01
        • 2012-07-04
        • 1970-01-01
        • 2013-09-12
        相关资源
        最近更新 更多