1

我只是将我的项目上传到 Windows Azure 网站免费版

我的网站需要连接到另一个虚拟主机上的外部 SQL 服务器。(不是 Windows azure 上的 SQL 服务器)。

当我在我的电脑上开发时。一切正常(这意味着我的连接字符串是正确的)。

但是当我上传到 Windows azure 时。它无法连接到该数据库。

并像这样抛出异常。

访问被拒绝

当我执行以下此答案时,错误显示如下 从 Windows Azure 连接到远程 SQL Server 2008

连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

并且都像这样显示堆栈跟踪

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.

我该如何解决这个问题,请帮忙。

4

3 回答 3

4

您正在将应用程序上传到 Windows Azure 网站。默认情况下,连接到 SQL Server 的端口 1433 很可能在其防火墙上被阻止。由于您使用的是 azure 网站,因此您无法控制此防火墙设置。

您可以:

  1. 将现有 SQL Server 数据库迁移到 SQL Azure 并从那里使用它
  2. 将您的应用程序升级到云服务,您可以在其中定义连接到外部数据库所需的端点(无论如何我都不推荐这样做,因为部署起来会很慢)
  3. 找到一种将现有数据库发布为 Web 服务的方法,以便您可以从应用程序中使用它们,但您可能必须重写应用程序的数据访问层。

我会简单地将所有内容移至 SQL Azure,这非常简单。

于 2013-03-18T12:27:24.243 回答
0

如果您可以将网站添加到托管数据库的远程主机,您是否可以在同一主机上创建允许您与数据库对话的服务(例如 WCF 或 Rest)?这样,您仍然可以将数据库托管在外部主机上,并通过 Azure 网站上的服务与其通信。

于 2013-03-17T17:45:44.053 回答
0

似乎有一种新方法允许 Azure webapps 使用混合连接连接到本地 SQL Server。谷歌让我相信这个功能在 2016 年的某个时候可用。它需要你在托管 SQL Server 实例的机器上安装额外的软件。

更多信息可在此处获得。

于 2017-06-14T15:29:26.973 回答