0

我正在尝试探索 Windows Azure 提供的 Azure Connect 服务。所以我有一个简单的 ASP.NET 应用程序在 Azure 中作为 Web 角色运行,它试图连接到我本地系统上托管的 SQL 数据库。我遵循了 Windows Azure 平台培训工具包中提供的所有步骤以及此处给出的步骤。完成所有这些操作后,我可以从本地系统 ping Azure 角色 VM 主机名。我能够从 VM 中 ping 我的本地系统(通过使用 mstsc 登录到 VM 来检查这一点)。我可以使用 telnet 在端口 1433(为 SQL 通信打开)上连接到我的本地系统。

但毕竟,当我尝试从 Azure 托管应用程序访问托管在我系统上的数据库时,我收到以下错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

我的连接字符串如下所示:

<add name="MyConnectionString" connectionString="Data Source=My-PC\SQLEXPRESS;Initial Catalog=Student;Persist Security Info=True;User ID=user;Password=pass" providerName="System.Data.SqlClient"/>

我已经完成了这些教程中提到的大部分设置,例如在 SQL Server 上启用远程连接、在 SQL Server 上启用 Windows 和 SQL 身份验证、为远程客户端启用网络 DTC 访问以及在我的防火墙上为传入的 TCP 请求打开端口 1433。

但我仍然得到同样的错误。有人有任何线索吗?

4

2 回答 2

3

自从我使用 Azure 连接以来已经有一段时间了 - 但我记得当从 Azure 角色访问本地 SQL Server 实例时,您需要在连接字符串中指定端口号。

请尝试修改您的连接字符串,将端口添加到数据源:

数据源=My-PC\SQLEXPRESS,1433

于 2012-02-05T15:14:55.943 回答
0

为什么不尝试连接字符串的替代语法:

服务器=[您的服务器名称];数据库=[您的数据库];用户 ID=用户;密码=密码

还可以在您的 Azure 实例上尝试 RDP,并在端口 1433 上尝试 TELNET 您的服务器。它应该可以工作。如果不是,则某些防火墙设置不正确。

于 2012-02-05T13:15:13.123 回答