由于缺少SSL加密,连接到SQL Azure数据库失败

时间:2015-05-28 12:46:02

标签: c# asp.net azure azure-sql-database asp.net-core

我正在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

     

消息:
  服务器不存在或连接被拒绝。

我已确认Azure未阻止我的IP地址。我通过登录Azure门户并从Silverlight应用程序管理SQL Server数据库来完成此操作。然而,我仍然不确定为什么我会收到这个错误。

如果我正确理解这一点,那么目前无法从运行在Mac上的ASP.NET 5连接到SQL Azure数据库。真的吗?如果不是这样,我做错了什么?

3 个答案:

答案 0 :(得分:11)

如您所知,Mac上的vNext正在进行公开预览。
我们仍在努力提供SQL连接。 Mac上不支持SSL加密,Azure SQL DB需要SSL加密。该项目正在筹备中,一旦我们有分享内容,我们会通知您。
同时如果您有任何其他问题,请告诉我。

最佳,
认识Bhagdev
微软项目经理

答案 1 :(得分:4)

切换到使用mono作为构建目标。这应该允许您访问实体框架中的ssl。

答案 2 :(得分:3)

我知道这不是您正在寻找的答案,但SQL Azure 需要https://msdn.microsoft.com/en-us/library/azure/ff394108.aspx个SSL。

我非常确定在OS X中添加SSL支持(通过Mono或CoreCLR)之后,您会陷入困境。