2015-05-28 2 views
15

Ich lerne ASP.NET 5 (vNext) auf meinem Mac. Für den letzten Tag habe ich versucht, eine Verbindung zu meiner SQL Azure-Datenbank herzustellen. In diesem Versuch habe ich den folgenden Code verwendet:Verbinden mit SQL Azure-Datenbank schlägt aufgrund fehlender SSL-Verschlüsselung fehl

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);      
} 

Wenn dieser Code ausgeführt wird, wird eine Ausnahme ausgelöst. Die Ausnahmedetails sieht wie folgt aus:

Typ:
System.NotImplementedException

Nachricht:
SSL-Verschlüsselung für Daten zwischen Client und Server gesendet wird, nicht implementiert.

UPDATE habe ich gelernt, dass die Verschlüsselung isn't supported im Rahmen zu dieser Zeit auf dem Mac OS X ausgeführt wird. Aus diesem Grund aktualisiert ich meine Verbindungszeichenfolge sieht wie folgt aus:

var connectionString = "Persist Security Info=False;Integrated Security=true;Initial Catalog=" + dbName + ";server=" + serverName + ";User Id=" + userId + ";Password=" + password; 

Dennoch, wenn ich die Verbindungszeichenfolge oben verwenden, erhalte ich die folgende Fehlermeldung.

Typ:
System.Data.SqlClient.SqlException

Nachricht:
Server existiert nicht oder Verbindung abgelehnt.

Ich habe bestätigt, dass meine IP-Adresse nicht von Azure blockiert wird. Dazu meldete ich mich beim Azure Portal an und verwaltete die SQL Server-Datenbank über die Silverlight App. Ich bin mir immer noch nicht sicher, warum ich diesen Fehler bekomme.

Wenn ich dies richtig verstehe, gibt es keine Möglichkeit, eine Verbindung zu einer SQL Azure-Datenbank zu diesem Zeitpunkt aus ASP.NET 5 auf einem Mac herzustellen. Ist das wahr? Wenn es nicht wahr ist, was mache ich falsch?

+0

Welchen Rahmen verwenden Sie? –

+0

@PanagiotisKanavos Ich benutze ASP.NET 5 (vNext). Ich versuche eine Verbindung über das 'System herzustellen.Data.SqlClient.SqlConnection ", das sich im Paket" "EntityFramework.SqlServer": "7.0.0 - *" befindet. –

+0

Ich bin näher dran. Ich habe die Frage mit weiteren Details aktualisiert. –

Antwort

11

Wie Sie wissen, ist vNext auf dem Mac in der öffentlichen Vorschau.
Wir arbeiten noch an der Bereitstellung von SQL-Konnektivität. Die SSL-Verschlüsselung wird auf Mac noch nicht unterstützt, und Azure SQL DB benötigt eine solche Verschlüsselung. Das Projekt ist in Vorbereitung und wir werden es Ihnen mitteilen, sobald wir etwas zu teilen haben.
In der Zwischenzeit, wenn Sie weitere Fragen haben, lassen Sie es mich bitte wissen.

Best,
Treffen Bhagdev
Program Manager, Microsoft

+1

Gibt es ein Update dazu? – joshmcode

+0

Irgendwelche Updates noch? Dies scheint immer noch nicht unterstützt zu werden - es ist ein kritisches Szenario, wenn Sie einen Server ausführen, der eine Azure SQL DB trifft (was ziemlich genau das Kernserver-Szenario ist). – Marchy

+0

Integrierte Sicherheit ist in .NET Core noch nicht verfügbar. Ich denke, deshalb ist der ursprüngliche Beitrag gescheitert. Können Sie die SQL-Authentifizierung mit aktiviertem SSL ausprobieren, um zu sehen, ob das funktioniert? (setze 'encrypt = true'). –

4

Schalter mono als Build-Ziel zu verwenden. Dies sollte Ihnen Zugriff auf ssl in Entity Framework geben.

Verwandte Themen