Parametry połączenia w ADO.NET
Parametry połączenia zawiera informacje inicjowania przekazywane jako parametr od dostawcy danych do źródła danych. Dostawca danych otrzymuje parametry połączenia jako wartość DbConnection.ConnectionString właściwości. Dostawca analizuje parametry połączenia i zapewnia poprawność składni oraz że słowa kluczowe są obsługiwane. DbConnection.Open() Następnie metoda przekazuje przeanalizowane parametry połączenia do źródła danych. Źródło danych przeprowadza dalszą walidację i ustanawia połączenie.
Składnia parametrów połączenia
Parametry połączenia to rozdzielana średnikami lista par parametrów klucz/wartość:
keyword1=value; keyword2=value;
Słowa kluczowe nie są uwzględniane w wielkości liter. Jednak w zależności od źródła danych może być uwzględniana wielkość liter. Słowa kluczowe i wartości mogą zawierać znaki odstępu. Wiodące i końcowe białe znaki są ignorowane w słowach kluczowych i wartościach bez cudzysłów.
Jeśli wartość zawiera średnik, znaki sterujące Unicode lub wiodące lub końcowe białe znaki, musi być ujęta w pojedynczy lub podwójny cudzysłów. Na przykład:
Keyword=" whitespace ";
Keyword='special;character';
Otaczający znak może nie wystąpić w obrębie ujętej wartości. W związku z tym wartość zawierająca pojedyncze cudzysłowy może być ujęta tylko w podwójny cudzysłów i na odwrót:
Keyword='double"quotation;mark';
Keyword="single'quotation;mark";
Możesz również uciec od otaczającego znaku, używając dwóch z nich:
Keyword="double""quotation";
Keyword='single''quotation';
Znaki cudzysłowu, a także znak równości, nie wymagają ucieczki, więc następujące parametry połączenia są prawidłowe:
Keyword=no "escaping" 'required';
Keyword=a=b=c
Ponieważ każda wartość jest odczytywana do następnego średnika lub końca ciągu, wartość w ostatnim przykładzie to a=b=c
, a końcowy średnik jest opcjonalny.
Wszystkie parametry połączenia mają tę samą podstawową składnię opisaną wcześniej. Zestaw rozpoznanych słów kluczowych zależy jednak od dostawcy i ewoluował na przestrzeni lat od wcześniejszych interfejsów API, takich jak ODBC. Dostawca danych programu .NET Framework dla programu SQL Server (SqlClient
) obsługuje wiele słów kluczowych ze starszych interfejsów API, ale ogólnie jest bardziej elastyczny i akceptuje synonimy dla wielu typowych słów kluczowych parametry połączenia.
Błędy wpisywania mogą powodować błędy. Na przykład jest prawidłowy, Integrated Security=true
ale IntegratedSecurity=true
powoduje błąd.
Parametry połączenia skonstruowane ręcznie w czasie wykonywania z niewalenionych danych wejściowych użytkownika są narażone na ataki polegających na wstrzyknięciu ciągu i zagrażają bezpieczeństwu w źródle danych. Aby rozwiązać te problemy, ADO.NET 2.0 wprowadzono konstruktorów parametry połączenia dla każdego dostawcy danych programu .NET Framework. Te konstruktory parametry połączenia uwidaczniają parametry jako silnie typizowane właściwości i umożliwiają zweryfikowanie parametry połączenia przed wysłaniem ich do źródła danych.
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Jeśli łączysz się z usługą Azure SQL, tożsamości zarządzane dla zasobów platformy Azure to zalecana metoda uwierzytelniania.
W tym obszarze
Konstruktorzy parametrów połączeń
Pokazuje, jak używać ConnectionStringBuilder
klas do konstruowania prawidłowych parametry połączenia w czasie wykonywania.
Parametry połączenia i pliki konfiguracji
Pokazuje, jak przechowywać i pobierać parametry połączenia w plikach konfiguracji.
Składnia parametrów połączenia
Opisuje sposób konfigurowania parametry połączenia specyficznych dla dostawcy dla SqlClient
, OracleClient
, OleDb
i Odbc
.
Ochrona informacji o połączeniu
Demonstruje techniki ochrony informacji używanych do nawiązywania połączenia ze źródłem danych.