【发布时间】:2015-08-10 23:40:57
【问题描述】:
我正在我的 Mac 上学习 ASP.NET 5 (vNext)。在最后一天,我一直在尝试连接到我的 SQL Azure 数据库。在那次尝试中,我一直在使用以下代码:
var serverName = "[protected]";
var dbName = "[protected]";
var userId = "[protected]";
var password = "[protected]";
var sql = "SELECT * FROM Customer";
using (var database = new SqlConnection("Server=tcp." + serverName + ".database.windows.net,1433;Database=" + dbName + ";User Id=" + userId + ";Password=" + password + ";Trusted_Connection=False;Encrypt=True;Max Pool Size=25"))
{
database.Open();
return await database.QueryAsync<T>(sql);
}
执行此代码时,会引发异常。异常详情如下所示:
类型:
System.NotImplementedException留言:
客户端和服务器之间发送的数据没有实现 SSL 加密。
更新 我了解到此时在 Mac OS X 上运行的框架中的加密isn't supported。因此,我将连接字符串更新为如下所示:
var connectionString = "Persist Security Info=False;Integrated Security=true;Initial Catalog=" + dbName + ";server=" + serverName + ";User Id=" + userId + ";Password=" + password;
不过,当我使用上面的连接字符串时,我得到了以下错误。
类型:
System.Data.SqlClient.SqlException留言:
服务器不存在或连接被拒绝。
我已确认我的 IP 地址未被 Azure 阻止。我通过登录 Azure 门户并从 Silverlight 应用程序管理 SQL Server 数据库来做到这一点。但是,我仍然不确定为什么会收到此错误。
如果我理解正确,目前无法从 Mac 上运行的 ASP.NET 5 连接到 SQL Azure 数据库。真的吗?如果不是真的,我做错了什么?
【问题讨论】:
-
你使用的是哪个框架?
-
@PanagiotisKanavos 我正在使用 ASP.NET 5 (vNext)。我正在尝试通过“EntityFramework.SqlServer”:“7.0.0-*”包中的
System.Data.SqlClient.SqlConnection进行连接。 -
我更近了。我已经用更多细节更新了这个问题。
-
@BrianAtkins 我刚刚确认它没有被阻止。我可以通过门户管理它。另外,我通过
ifconfig | grep "inet " | grep -v 127.0.0.1获得了IP地址。我确认这两个都在允许 IP 地址列表中列入白名单。我仍然遇到同样的错误。 -
在您的新连接字符串中,我没有看到 database.windows.net 作为服务器名称的一部分。您是否将其包含在您的服务器名称中?
标签: c# asp.net azure azure-sql-database asp.net-core