我正在尝试探索Windows Azure提供的Azure Connect服务。所以我有一个简单的ASP.NET应用程序在Azure中作为Web角色运行,它试图连接到我本地系统上托管的SQL数据库。我按照Windows Azure平台培训工具包中提供的所有步骤以及给出的here步骤进行了操作。完成所有这些后,我能够从本地系统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上启用远程连接,同时启用Windows和Windows SQL服务器上的SQL身份验证,为远程客户端启用网络DTC访问,并为防火墙上的传入TCP请求打开端口1433。
但我仍然得到同样的错误。有人有任何线索吗?
答案 0 :(得分:3)
自从我使用Azure连接以来已经有一段时间了 - 但是我记得在从Azure角色访问本地SQL Server实例时需要在连接字符串中指定端口号。
请尝试修改将端口添加到数据源的连接字符串:
数据来源= My-PC \ SQLEXPRESS,1433
答案 1 :(得分:0)
为什么不尝试连接字符串的替代语法:
服务器= [your_server_name];数据库= [您的数据库];用户 ID =用户;密码=通过
并且还在您的Azure实例上尝试RDP并尝试在端口1433上使用TELNET服务器。它应该可以工作。如果没有,则某些防火墙设置不正确。