由于缺少SSL加密,连接SQL Azure数据库失败
本文关键字:SQL Azure 数据库 失败 连接 于缺少 SSL 加密 | 更新日期: 2023-09-27 17:51:02
我正在学习ASP。. NET 5 (vNext)在我的Mac上。最后一天,我一直在试图连接到我的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);
}
当执行此代码时,将抛出异常。异常细节如下所示:
类型:
系统。NotImplementedException信息:
客户端和服务器之间发送的数据未实现SSL加密。
我了解到,目前在Mac OS X上运行的框架不支持加密。因此,我将连接字符串更新为如下所示:
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数据库做到了这一点。然而,我仍然不确定为什么我得到这个错误。
如果我理解正确,没有办法连接到SQL Azure数据库在这个时候从ASP。NET 5在Mac上运行,是真的吗?如果这不是真的,我做错了什么?
正如你所知道的,Mac上的vNext是在公开预览中。
我们仍在努力提供SQL连接。Mac上还不支持SSL加密,Azure SQL DB需要SSL加密。该项目正在筹备中,我们会让你知道,一旦我们有东西要分享。同时,如果您还有什么问题,请告诉我。
最好的,
Bhagdev见面
程序管理器,Microsoft
切换到使用mono作为构建目标。这将使您能够访问实体框架中的ssl。
我知道这不是你要找的答案,但是SQL Azure 要求 SSL per https://msdn.microsoft.com/en-us/library/azure/ff394108.aspx.
我很确定你被卡住了,直到SSL支持被添加到OS X(通过Mono或CoreCLR)。