2015-05-28 12 views
15

Uczę się ASP.NET 5 (vNext) na moim komputerze Mac. Ostatniego dnia utknąłem, próbując połączyć się z moją bazą danych SQL Azure. W tej próbie używam następującego kodu:Nawiązywanie połączenia z bazą danych SQL Azure nie powiodło się z powodu braku szyfrowania SSL

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

Po wykonaniu tego kodu zostanie zgłoszony wyjątek. Dane wyjątków wygląda następująco:

Typ:
System.NotImplementedException

Wiadomość:
szyfrowanie SSL dla danych przesyłanych między klientem a serwerem nie jest realizowany.

UPDATE dowiedziałem się, że szyfrowanie isn't supported w ramach działającego na systemie Mac OS X w tym czasie. Z tego powodu, aktualizowany mój ciąg połączenia wygląda następująco:

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

Mimo to, kiedy używam ciąg połączenia wyżej, pojawia się następujący błąd.

Typ:
System.Data.SqlClient.SqlException

Wiadomość:
Server nie istnieje lub odmowa połączenia.

Potwierdziłem, że mój adres IP nie jest blokowany przez Azure. Zrobiłem to, logując się do portalu Azure i zarządzając bazą danych SQL Server z aplikacji Silverlight. Jednak wciąż nie jestem pewien, dlaczego dostaję tego błędu.

Jeśli dobrze rozumiem to, nie ma sposobu, aby połączyć się z bazą danych SQL Azure w tym czasie z ASP.NET 5 działa na komputerze Mac. Czy to prawda? Jeśli to nieprawda, co robię źle?

+0

Z którego ramienia korzystasz? –

+0

@PanagiotisKanavos Używam ASP.NET 5 (vNext). Próbuję połączyć się przez 'System.Data.SqlClient.SqlConnection', który znajduje się w pakiecie '" EntityFramework.SqlServer ":" 7.0.0 - * "'. –

+0

Jestem bliżej. Zaktualizowałem pytanie, podając więcej szczegółów. –

Odpowiedz

11

Jak wiesz, vNastępny na Macu jest pod publicznym podglądem.
Wciąż pracujemy nad zapewnieniem łączności SQL. Szyfrowanie SSL nie jest jeszcze obsługiwane na komputerze Mac, a usługa Azure SQL DB go wymaga. Projekt jest w przygotowaniu, a poinformujemy Cię, gdy będziemy mieli coś do przekazania.
W międzyczasie, jeśli masz inne pytania, daj mi znać.

Best,
Meet Bhagdev
Program Manager Microsoft

+1

Czy jest jakaś aktualizacja tego? – joshmcode

+0

Jakieś aktualizacje? To nadal nie jest obsługiwane - jest to krytyczny scenariusz, jeśli używasz dowolnego serwera trafiającego do bazy danych Azure SQL DB (co jest prawie podstawowym scenariuszem serwera). – Marchy

+0

Zintegrowane zabezpieczenia nie są jeszcze dostępne w .NET Core. Myślę, że właśnie dlatego oryginalny post nie powiódł się. Czy możesz spróbować uwierzytelniania SQL z włączoną obsługą SSL, aby sprawdzić, czy to działa? (ustaw "encrypt = true"). –

4

Przełącznik użyciem mono jako cel budowy. To powinno dać ci dostęp do ssl w strukturze encji.

Powiązane problemy