SqlConnection.ConnectionString Właściwość

Definicja

Pobiera lub ustawia ciąg używany do otwierania bazy danych SQL Server.

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
[System.Data.DataSysDescription("SqlConnection_ConnectionString")]
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
[<System.Data.DataSysDescription("SqlConnection_ConnectionString")>]
member this.ConnectionString : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String

Wartość właściwości

Parametry połączenia, która zawiera nazwę źródłowej bazy danych i inne parametry potrzebne do nawiązania połączenia początkowego. Wartością domyślną jest ciąg pusty.

Implementuje

Atrybuty

Wyjątki

Podano nieprawidłowy argument parametry połączenia lub nie podano wymaganego argumentu parametry połączenia.

Przykłady

Poniższy przykład tworzy SqlConnection właściwość i ustawia ConnectionString właściwość przed otwarciem połączenia.

private static void OpenSqlConnection()
{
    string connectionString = GetConnectionString();

    using (SqlConnection connection = new SqlConnection())
    {
        connection.ConnectionString = connectionString;

        connection.Open();

        Console.WriteLine("State: {0}", connection.State);
        Console.WriteLine("ConnectionString: {0}",
            connection.ConnectionString);
    }
}

static private string GetConnectionString()
{
    // To avoid storing the connection string in your code,
    // you can retrieve it from a configuration file.
    return "Data Source=MSSQL1;Initial Catalog=AdventureWorks;"
        + "Integrated Security=true;";
}
Private Sub OpenSqlConnection()
    Dim connectionString As String = GetConnectionString()

    Using connection As New SqlConnection()

        connection.ConnectionString = connectionString

        connection.Open()

        Console.WriteLine("State: {0}", connection.State)
        Console.WriteLine("ConnectionString: {0}", _
            connection.ConnectionString)
    End Using
End Sub

Private Function GetConnectionString() As String
    ' To avoid storing the connection string in your code,  
    ' you can retrieve it from a configuration file.
    Return "Data Source=MSSQL1;Database=AdventureWorks;" _
      & "Integrated Security=true;"
End Function

Uwagi

Obiekt ConnectionString jest podobny do parametry połączenia OLE DB, ale nie jest identyczny. W przeciwieństwie do bazy danych OLE DB lub ADO zwracany parametry połączenia jest taki sam jak zestaw ConnectionStringużytkowników , minus informacje o zabezpieczeniach, jeśli wartość Utrwalanie informacji zabezpieczających jest ustawiona na false (wartość domyślna). Dostawca danych .NET Framework dla SQL Server nie jest utrwalany lub zwraca hasło w parametry połączenia, chyba że ustawiono opcję Utrwalanie informacji zabezpieczających na truewartość .

Za pomocą ConnectionString właściwości można nawiązać połączenie z bazą danych. Poniższy przykład ilustruje typowy parametry połączenia.

"Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)"

Użyj nowego SqlConnectionStringBuilder , aby utworzyć prawidłowe parametry połączenia w czasie wykonywania. Aby uzyskać więcej informacji, zobacz Konstruktory parametrów połączenia.

Właściwość ConnectionString można ustawić tylko po zamknięciu połączenia. Wiele parametry połączenia wartości mają odpowiednie właściwości tylko do odczytu. Po ustawieniu parametry połączenia te właściwości są aktualizowane, z wyjątkiem przypadków wykrycia błędu. W takim przypadku żadna z właściwości nie jest aktualizowana. SqlConnection właściwości zwracają tylko te ustawienia, które znajdują się w elemecie ConnectionString.

Aby nawiązać połączenie z komputerem lokalnym, określ wartość "(local)" dla serwera. Jeśli nazwa serwera nie zostanie określona, zostanie podjęta próba nawiązania połączenia z domyślnym wystąpieniem na komputerze lokalnym.

Zresetowanie elementu na zamkniętym połączeniu spowoduje zresetowanie ConnectionString wszystkich wartości parametry połączenia (i powiązanych właściwości), w tym hasła. Jeśli na przykład ustawisz parametry połączenia zawierającą ciąg "Database= AdventureWorks", a następnie zresetujesz parametry połączenia na wartość "Źródło danych=myserver; Integrated Security=true", Database właściwość nie jest już ustawiona na "AdventureWorks".

Parametry połączenia jest analizowana natychmiast po ustawieniu. Jeśli podczas analizowania wystąpią błędy składni, zostanie wygenerowany wyjątek środowiska uruchomieniowego, taki jak ArgumentException, . Inne błędy można znaleźć tylko wtedy, gdy zostanie podjęta próba otwarcia połączenia.

Podstawowy format parametry połączenia zawiera serię par słów kluczowych/wartości rozdzielonych średnikami. Znak równości (=) łączy każde słowo kluczowe i jego wartość. Aby uwzględnić wartości zawierające średnik, znak pojedynczego cudzysłowu lub znak podwójnego cudzysłowu, wartość musi być ujęta w znaki podwójnego cudzysłowu. Jeśli wartość zawiera zarówno średnik, jak i znak podwójnego cudzysłowu, wartość może być ujęta w pojedynczy cudzysłów. Pojedynczy cudzysłów jest również przydatny, jeśli wartość zaczyna się znakiem podwójnego cudzysłowu. Z drugiej strony podwójny cudzysłów można użyć, jeśli wartość zaczyna się od pojedynczego cudzysłowu. Jeśli wartość zawiera znaki pojedynczego cudzysłowu i podwójnego cudzysłowu, znak cudzysłowu używany do ujęć wartość musi zostać dwukrotnie za każdym razem, gdy wystąpi w obrębie wartości.

Aby uwzględnić poprzednie lub końcowe spacje w wartości ciągu, wartość musi być ujęta w pojedynczy cudzysłów lub podwójny cudzysłów. Wszystkie spacje wiodące lub końcowe wokół liczb całkowitych, logicznych lub wyliczonych są ignorowane, nawet jeśli są ujęte w cudzysłów. Jednak spacje w ciągu literału słowa kluczowego lub wartości są zachowywane. Pojedyncze lub podwójne cudzysłów mogą być używane w obrębie parametry połączenia bez użycia ograniczników (na przykład źródło danych= my'Server lub źródło danych= my"Server), chyba że znak cudzysłowu jest pierwszym lub ostatnim znakiem w wartości.

Słowa kluczowe nie są uwzględniane wielkości liter.

W poniższej tabeli wymieniono prawidłowe nazwy wartości słów kluczowych w obiekcie ConnectionString.

Słowo kluczowe Domyślny Opis
Addr Nie dotyczy Synonim źródła danych.
Adres Nie dotyczy Synonim źródła danych.
Aplikacja Nie dotyczy Synonim nazwy aplikacji.
Nazwa aplikacji Nie dotyczy Nazwa aplikacji lub ".NET SQLClient Data Provider", jeśli nie podano żadnej nazwy aplikacji.

Nazwa aplikacji może wynosić 128 znaków lub mniej.
ApplicationIntent ReadWrite Deklaruje typ obciążenia aplikacji podczas nawiązywania połączenia z serwerem. Możliwe wartości to ReadOnly i ReadWrite. Na przykład:

ApplicationIntent=ReadOnly

Aby uzyskać więcej informacji na temat obsługi klienta SqlClient dla zawsze włączonych grup dostępności, zobacz SqlClient Support for High Availability, Disaster Recovery (Obsługa klienta SqlClient pod kątem wysokiej dostępności i odzyskiwania po awarii).
Przetwarzanie asynchroniczne

-lub-

Async
"false" Gdy truefunkcja włącza obsługę operacji asynchronicznych. Rozpoznane wartości to true, false, yesi no.

Ta właściwość jest ignorowana począwszy od .NET Framework 4.5. Aby uzyskać więcej informacji na temat obsługi klienta SqlClient na potrzeby programowania asynchronicznego, zobacz Asynchronous Programming (Programowanie asynchroniczne).
Attachdbfilename

-lub-

Właściwości rozszerzone

-lub-

Początkowa nazwa pliku
Nie dotyczy Nazwa podstawowego pliku bazy danych, w tym pełna nazwa ścieżki dołączanej bazy danych. AttachDBFilename jest obsługiwana tylko w przypadku plików danych podstawowych z rozszerzeniem .mdf.

Jeśli wartość klucza AttachDBFileName jest określona w parametry połączenia, baza danych jest dołączona i staje się domyślną bazą danych dla połączenia.

Jeśli ten klucz nie zostanie określony i baza danych została wcześniej dołączona, baza danych nie zostanie ponownie dołączona. Wcześniej dołączona baza danych będzie używana jako domyślna baza danych dla połączenia.

Jeśli ten klucz zostanie określony razem z kluczem AttachDBFileName, wartość tego klucza będzie używana jako alias. Jeśli jednak nazwa jest już używana w innej dołączonej bazie danych, połączenie zakończy się niepowodzeniem.

Ścieżka może być bezwzględna lub względna przy użyciu ciągu podstawień DataDirectory. Jeśli jest używana usługa DataDirectory, plik bazy danych musi istnieć w podkatalogu katalogu wskazywanego przez ciąg podstawień. Uwaga: Nazwy ścieżek SERWERA zdalnego, HTTP i UNC nie są obsługiwane.

Nazwa bazy danych musi być określona przy użyciu słowa kluczowego "database" (lub jednego z jego aliasów), tak jak w następujących kwestiach:

"AttachDbFileName=&#124;DataDirectory&#124;\data\YourDB.mdf;integrated security=true;database=YourDatabase"

Zostanie wygenerowany błąd, jeśli plik dziennika istnieje w tym samym katalogu co plik danych, a słowo kluczowe "baza danych" jest używane podczas dołączania pliku danych podstawowych. W takim przypadku usuń plik dziennika. Po dołączeniu bazy danych nowy plik dziennika zostanie automatycznie wygenerowany na podstawie ścieżki fizycznej.
Authentication Nie dotyczy Metoda uwierzytelniania używana do nawiązywania połączenia z SQL Database przy użyciu uwierzytelniania usługi Azure Active Directory.

Prawidłowe wartości:

Active Directory Integrated, Active Directory Password, Sql Password.
Ustawienie szyfrowania kolumn Nie dotyczy Włącza lub wyłącza Always Encrypted funkcjonalność połączenia.
Limit czasu połączenia

-lub-

Przekroczenie limitu czasu połączenia

-lub-

Limit czasu
15 Czas oczekiwania na połączenie z serwerem (w sekundach) przed zakończeniem próby i wygenerowaniem błędu.

Prawidłowe wartości są większe lub równe 0 i mniejsze lub równe 2147483647.

Podczas otwierania połączenia z usługą Azure SQL Database ustaw limit czasu połączenia na 30 sekund.
Okres istnienia połączenia

-lub-

Limit czasu równoważenia obciążenia
0 Gdy połączenie zostanie zwrócone do puli, jego czas tworzenia jest porównywany z bieżącą godziną, a połączenie jest niszczone, jeśli ten przedział czasu (w sekundach) przekracza wartość określoną przez Connection Lifetime. Jest to przydatne w konfiguracjach klastrowanych, aby wymusić równoważenie obciążenia między uruchomionym serwerem a serwerem właśnie przeniesionym do trybu online.

Wartość zero (0) powoduje, że połączenia w puli mają maksymalny limit czasu połączenia.
ConnectRetryCount 1 Określa liczbę ponownych prób nawiązania połączenia po zidentyfikowaniu przez klienta błędu bezczynności połączenia. Prawidłowe wartości to od 0 do 255. Wartość domyślna to 1. 0 oznacza, że nie próbuj ponownie nawiązać połączenia (wyłącz odporność połączenia).

Aby uzyskać dodatkowe informacje na temat odporności połączenia, zobacz .NET SqlConnection parameters for connection retry and Technical Article - Idle Connection Resiliency (Parametry połączenia SQLConnection platformy .NET na potrzeby ponawiania prób połączenia i artykuł techniczny — odporność bezczynności połączenia).
ConnectRetryInterval 10 Określa czas między poszczególnymi próbami ponawiania próby połączenia (ConnectRetryCount). Prawidłowe wartości to od 1 do 60 sekund (wartość domyślna= 10), stosowane po pierwszej próbie ponownego nawiązania połączenia. Po wykryciu przerwanego połączenia klient natychmiast próbuje ponownie nawiązać połączenie; jest to pierwsza próba ponownego nawiązania połączenia i występuje tylko wtedy, gdy wartość ConnectRetryCount jest większa niż 0. Jeśli pierwsza próba ponownego nawiązania połączenia nie powiedzie się, a wartość ConnectRetryCount jest większa niż 1, klient czeka na połączenie ConnectRetryInterval, aby spróbować wykonać drugą i kolejną ponowną próbę nawiązania połączenia.

Aby uzyskać dodatkowe informacje na temat odporności połączenia, zobacz .NET SqlConnection parameters for connection retry and Technical Article - Idle Connection Resiliency (Parametry połączenia SQLConnection platformy .NET na potrzeby ponawiania prób połączenia i artykuł techniczny — odporność bezczynności połączenia).
Połączenie kontekstowe "false" truejeśli należy nawiązać połączenie w procesie z SQL Server.
Bieżący język

-lub-

Język
Nie dotyczy Ustawia język używany na potrzeby ostrzeżeń serwera bazy danych lub komunikatów o błędach.

Nazwa języka może być 128 znaków lub mniejsza.
Źródło danych

-lub-

Serwer

-lub-

Adres

-lub-

Addr

-lub-

Adres sieciowy
Nie dotyczy Nazwa lub adres sieciowy wystąpienia SQL Server, z którym ma nawiązać połączenie. Numer portu można określić po nazwie serwera:

server=tcp:servername, portnumber

Podczas określania wystąpienia lokalnego należy zawsze używać (lokalnego). Aby wymusić protokół, dodaj jeden z następujących prefiksów:

np:(local), tcp:(local), lpc:(local)

Począwszy od wersji .NET Framework 4.5, możesz również nawiązać połączenie z bazą danych LocalDB w następujący sposób:

server=(localdb)\\myInstance

Aby uzyskać więcej informacji na temat bazy danych LocalDB, zobacz SqlClient Support for LocalDB (Obsługa klienta Sql dla bazy danych LocalDB).

Źródło danych musi używać formatu TCP lub formatu nazwanych potoków.

Format TCP jest następujący:

- tcp:<nazwa> hosta\<nazwa wystąpienia>
- tcp:<nazwa> hosta,< numer portu TCP/IP>

Format TCP musi zaczynać się od prefiksu "tcp:" i następuje wystąpienie bazy danych określone przez nazwę hosta i nazwę wystąpienia. Ten format nie ma zastosowania podczas nawiązywania połączenia z usługą Azure SQL Database. Protokół TCP jest automatycznie wybierany dla połączeń z usługą Azure SQL Database, gdy nie określono żadnego protokołu.

Nazwa hosta musi być określona w jeden z następujących sposobów:

- NetBIOSName
- IPv4Address
- IPv6Address

Nazwa wystąpienia jest używana do rozpoznawania określonego numeru portu TCP/IP, na którym jest hostowane wystąpienie bazy danych. Możesz również bezpośrednio określić numer portu TCP/IP. Jeśli nazwa wystąpienia i numer portu nie są obecne, używane jest domyślne wystąpienie bazy danych.

Format nazwanych potoków jest następujący:

- np:\\<nazwa> hosta\pipe\<nazwa potoku>

Format nazwanych potoków MUSI zaczynać się od prefiksu "np:" i następuje nazwa nazwanego potoku.

Nazwa hosta musi być określona w jeden z następujących sposobów:

- NetBIOSName
- IPv4Address
- IPv6Address

Nazwa potoku służy do identyfikowania wystąpienia bazy danych, z którym zostanie połączona aplikacja .NET Framework.

Jeśli określono wartość klucza sieciowego , prefiksy "tcp:" i "np:" nie powinny być określone. Uwaga: Można wymusić użycie protokołu TCP zamiast pamięci współużytkowanej, używając prefiksu tcp: do nazwy serwera w parametry połączenia lub przy użyciu hosta lokalnego.
Encrypt "false" Gdy trueprogram SQL Server używa szyfrowania SSL dla wszystkich danych wysyłanych między klientem a serwerem, jeśli serwer ma zainstalowany certyfikat. Rozpoznane wartości to true, false, yesi no. Aby uzyskać więcej informacji, zobacz Składnia parametrów połączenia.

Począwszy od .NET Framework 4.5, gdy TrustServerCertificate ma wartość false i Encrypt ma wartość true, nazwa serwera (lub adres IP) w certyfikacie SSL SQL Server musi dokładnie odpowiadać nazwie serwera (lub adresowi IP) określonego w parametry połączenia. W przeciwnym razie próba połączenia zakończy się niepowodzeniem.
Zarejestrować "true" truewskazuje, że SQL Server puli połączeń automatycznie zaciąga połączenie w bieżącym kontekście transakcji wątku tworzenia.
Failover Partner Nie dotyczy Nazwa serwera partnera trybu failover, na którym skonfigurowano dublowanie bazy danych.

Jeśli wartość tego klucza to "", katalog początkowy musi być obecny, a jego wartość nie może być równa "".

Nazwa serwera może mieć co najmniej 128 znaków.

Jeśli określisz partnera trybu failover, ale serwer partnera trybu failover nie jest skonfigurowany do dublowania bazy danych, a serwer podstawowy (określony za pomocą słowa kluczowego Serwer) nie będzie dostępny, połączenie zakończy się niepowodzeniem.

Jeśli określisz partnera trybu failover, a serwer podstawowy nie jest skonfigurowany do dublowania bazy danych, połączenie z serwerem podstawowym (określonym za pomocą słowa kluczowego Serwer) powiedzie się, jeśli serwer podstawowy jest dostępny.
Katalog początkowy

-lub-

baza danych
Nie dotyczy Nazwa bazy danych.

Nazwa bazy danych może mieć co najmniej 128 znaków.
Zintegrowane zabezpieczenia

-lub-

Trusted_connection
"false" Gdy falseparametr , identyfikator użytkownika i hasło są określone w połączeniu. Gdy truedo uwierzytelniania są używane bieżące poświadczenia konta systemu Windows.

Rozpoznane wartości to true, , yesfalse, noi sspi (zdecydowanie zalecane), które są równoważne .true

Jeśli określono identyfikator użytkownika i hasło, a zabezpieczenia zintegrowane mają wartość true, identyfikator użytkownika i hasło zostaną zignorowane, a zintegrowane zabezpieczenia zostaną użyte.

SqlCredentialto bezpieczniejszy sposób określania poświadczeń dla połączenia korzystającego z uwierzytelniania SQL Server (Integrated Security=false).
Maksymalny rozmiar puli 100 Maksymalna liczba połączeń dozwolonych w puli.

Prawidłowe wartości są większe lub równe 1. Wygeneruj błąd wartości mniejsze niż minimalny rozmiar puli .
Minimalny rozmiar puli 0 Minimalna liczba połączeń dozwolonych w puli.

Prawidłowe wartości są większe lub równe 0. Zero (0) w tym polu oznacza, że nie są początkowo otwierane żadne minimalne połączenia.

Wygeneruj błąd wartości większe niż maksymalny rozmiar puli .
MultipleActiveResultSets "false" Gdy trueaplikacja może obsługiwać wiele aktywnych zestawów wyników (MARS). Gdy falseaplikacja musi przetworzyć lub anulować wszystkie zestawy wyników z jednej partii, zanim będzie mogła wykonać dowolną inną partię w tym połączeniu.

Rozpoznane wartości to true i false.

Aby uzyskać więcej informacji, zobacz Wiele aktywnych zestawów wyników (MARS).
MultiSubnetFailover FALSE Zawsze określaj multiSubnetFailover=True podczas nawiązywania połączenia z odbiornikiem grupy dostępności SQL Server 2012 (lub nowszym) grupy dostępności lub wystąpienia klastra trybu failover SQL Server 2012 (lub nowszym). multiSubnetFailover=True Konfiguruje sqlClient w celu zapewnienia szybszego wykrywania i nawiązywania połączenia z (obecnie) aktywnym serwerem. Możliwe wartości to Yes i , TrueNoi i 1False0. Na przykład:

MultiSubnetFailover=True

Wartość domyślna to False. Aby uzyskać więcej informacji na temat obsługi zawsze włączonych grup dostępności programu SqlClient, zobacz SqlClient Support for High Availability, Disaster Recovery (Obsługa klienta SqlClient na potrzeby wysokiej dostępności i odzyskiwania po awarii).
Biblioteka sieciowa

-lub-

Sieć

-lub-

Netto
Nie dotyczy Biblioteka sieciowa używana do nawiązywania połączenia z wystąpieniem SQL Server. Obsługiwane wartości:

dbnmpntw (nazwane potoki)

dbmsrpcn (multiprotocol, Windows RPC)

dbmsadsn (Apple Talk)

dbmsgnet (VIA)

dbmslpcn (pamięć współdzielona)

dbmsspxn (IPX/SPX)

dbmssocn (TCP/IP)

Dbmsvinn (Banyan Vines)

Odpowiednia biblioteka DLL sieci musi być zainstalowana w systemie, z którym nawiązujesz połączenie. Jeśli nie określisz sieci i użyjesz serwera lokalnego (na przykład "." lub "(local)"), zostanie użyta pamięć współdzielona. W tym przykładzie biblioteka sieciowa to Win32 Winsock TCP/IP (dbmssocn), a 1433 to używany port.

Network Library=dbmssocn;Data Source=000.000.000.000,1433;
Rozmiar pakietu 8000 Rozmiar w bajtach pakietów sieciowych używanych do komunikowania się z wystąpieniem SQL Server.

Rozmiar pakietu może być większy lub równy 512 i mniejszy lub równy 32768.
Hasło

-lub-

PWD
Nie dotyczy Hasło do logowania konta SQL Server. Niezalecane. Aby zachować wysoki poziom zabezpieczeń, zdecydowanie zalecamy użycie słowa kluczowego Integrated Security lub Trusted_Connection . SqlCredentialto bezpieczniejszy sposób określania poświadczeń dla połączenia korzystającego z uwierzytelniania SQL Server.

Hasło musi zawierać co najmniej 128 znaków.
Utrwalanie informacji zabezpieczających

-lub-

PersistSecurityInfo
"false" W przypadku ustawienia false lub no (zdecydowanie zalecane) informacje poufne zabezpieczeń, takie jak hasło, nie są zwracane jako część połączenia, jeśli połączenie jest otwarte lub kiedykolwiek było otwarte. Zresetowanie parametry połączenia spowoduje zresetowanie wszystkich wartości parametry połączenia, w tym hasła. Rozpoznane wartości to true, false, yesi no.
PoolBlockingPeriod Auto Ustawia zachowanie okresu blokowania dla puli połączeń. Aby uzyskać szczegółowe informacje, zobacz PoolBlockingPeriod właściwość.
Buforowanie "true" Gdy wartość tego klucza jest ustawiona na wartość true, każde nowo utworzone połączenie zostanie dodane do puli po zamknięciu przez aplikację. W następnej próbie otwarcia tego samego połączenia połączenie zostanie pobrane z puli.

Connections są traktowane tak samo, jeśli mają te same parametry połączenia. Różne połączenia mają różne parametry połączenia.

Wartość tego klucza może mieć wartość "true", "false", "yes" lub "no".
Replikacja "false" true jeśli replikacja jest obsługiwana przy użyciu połączenia.
Powiązanie transakcji Niejawne powiązanie Steruje skojarzeniem połączenia z zaciągniętą System.Transactions transakcją.

Możliwe wartości:

Transaction Binding=Implicit Unbind;

Transaction Binding=Explicit Unbind;

Niejawne powiązanie powoduje odłączenie połączenia od transakcji po jej zakończeniu. Po odłączeniu dodatkowe żądania dotyczące połączenia są wykonywane w trybie autopotwierdzenia. Właściwość System.Transactions.Transaction.Current nie jest sprawdzana podczas wykonywania żądań, gdy transakcja jest aktywna. Po zakończeniu transakcji dodatkowe żądania są wykonywane w trybie autopoleceń.

Jeśli system zakończy transakcję (w zakresie użycia bloku) przed zakończeniem ostatniego polecenia, zwróci wartość InvalidOperationException.

Jawne powiązanie powoduje, że połączenie pozostaje dołączone do transakcji do momentu zamknięcia połączenia lub wywołania jawnego SqlConnection.TransactionEnlist(null) . Począwszy od .NET Framework 4, zmiany w niejawnej unbind sprawiają, że jawne powiązanie jest przestarzałe. Jest InvalidOperationException zgłaszany, jeśli Transaction.Current nie jest zaciągniętą transakcją lub jeśli transakcja na liście nie jest aktywna.
TransparentNetworkIPResolution Patrz opis. Gdy wartość tego klucza jest ustawiona na true, aplikacja jest wymagana do pobrania wszystkich adresów IP dla określonego wpisu DNS i próby nawiązania połączenia z pierwszym na liście. Jeśli połączenie nie zostanie nawiązane w ciągu 0,5 sekundy, aplikacja spróbuje nawiązać połączenie ze wszystkimi innymi. Gdy pierwsze odpowiedzi aplikacja nawiąże połączenie z adresem IP respondenta.

MultiSubnetFailover Jeśli klucz jest ustawiony na true, TransparentNetworkIPResolution jest ignorowany.

Failover Partner Jeśli klucz jest ustawiony, TransparentNetworkIPResolution jest ignorowany.

Wartość tego klucza musi mieć truewartość , , falseyeslub no.

Wartość jest traktowana yes tak samo jak wartość .true

Wartość jest traktowana no tak samo jak wartość .false

Wartości domyślne są następujące:

  • false Kiedy:

    • Nawiązywanie połączenia z bazą danych Azure SQL, w której źródło danych kończy się na:

      • .database.chinacloudapi.cn
      • .database.usgovcloudapi.net
      • .database.cloudapi.de
      • .database.windows.net
    • Authentication to "Hasło usługi Active Directory" lub "Zintegrowane z usługą Active Directory"
  • true we wszystkich innych przypadkach.
Trustservercertificate "false" W przypadku ustawienia na truewartość protokół SSL jest używany do szyfrowania kanału podczas chodzenia po łańcuchu certyfikatów w celu zweryfikowania zaufania. Jeśli właściwość TrustServerCertificate jest ustawiona na true , a dla opcji Szyfruj ustawiono falsewartość , kanał nie jest szyfrowany. Rozpoznane wartości to true, false, yesi no. Aby uzyskać więcej informacji, zobacz Składnia parametrów połączenia.
Typ wersja systemu Nie dotyczy Wartość ciągu wskazująca system typów oczekiwany przez aplikację. Funkcjonalność dostępna dla aplikacji klienckiej zależy od wersji SQL Server i poziomu zgodności bazy danych. Jawne ustawienie wersji systemu typów napisanej przez aplikację kliencką w celu uniknięcia potencjalnych problemów, które mogą spowodować przerwanie działania aplikacji, jeśli jest używana inna wersja SQL Server. Uwaga: Nie można ustawić wersji systemu typów dla kodu środowiska uruchomieniowego języka wspólnego (CLR) wykonującego proces w SQL Server. Aby uzyskać więcej informacji, zobacz SQL Server Integracja środowiska Uruchomieniowego języka wspólnego.

Możliwe wartości:

Type System Version=SQL Server 2012;

Type System Version=SQL Server 2008;

Type System Version=SQL Server 2005;

Type System Version=Latest;

Type System Version=SQL Server 2012; Określa, że aplikacja będzie wymagać wersji 11.0.0.0 Microsoft.SqlServer.Types.dll. Inne Type System Version ustawienia będą wymagać wersji 10.0.0.0 Microsoft.SqlServer.Types.dll.

Latest jest przestarzałe i nie należy ich używać. Latest jest równoważne Type System Version=SQL Server 2008;.
Identyfikator użytkownika

-lub-

UID

-lub-

Użytkownik
Nie dotyczy Konto logowania SQL Server. Niezalecane. Aby zachować wysoki poziom zabezpieczeń, zdecydowanie zalecamy użycie słów Integrated Security kluczowych lub Trusted_Connection . SqlCredentialJest to bardziej bezpieczny sposób określania poświadczeń dla połączenia korzystającego z uwierzytelniania SQL Server.

Identyfikator użytkownika musi zawierać 128 znaków lub mniej.
Wystąpienie użytkownika "false" Wartość wskazująca, czy przekierować połączenie z domyślnego wystąpienia SQL Server Express do wystąpienia zainicjowanego przez środowisko uruchomieniowe uruchomione na koncie obiektu wywołującego.
Identyfikator stacji roboczej

-lub-

WSID
Nazwa komputera lokalnego Nazwa stacji roboczej łączącej się z SQL Server.

Identyfikator musi zawierać 128 znaków lub mniej.

Poniższa lista zawiera prawidłowe nazwy wartości puli połączeń w ramach ConnectionStringelementu . Aby uzyskać więcej informacji, zobacz SQL Server Connection Pooling (ADO.NET).

  • Okres istnienia połączenia (lub limit czasu równoważenia obciążenia)

  • Zarejestrować

  • Maksymalny rozmiar puli

  • Minimalny rozmiar puli

  • Buforowanie

W przypadku ustawiania wartości słowa kluczowego lub puli połączeń, które wymagają wartości logicznej, można użyć wartości "yes" zamiast "true" i "no" zamiast "false". Wartości całkowite są reprezentowane jako ciągi.

Uwaga

Dostawca danych .NET Framework dla SQL Server używa własnego protokołu do komunikowania się z SQL Server. W związku z tym nie obsługuje ona używania nazwy źródła danych ODBC (DSN) podczas nawiązywania połączenia z SQL Server, ponieważ nie dodaje warstwy ODBC.

Uwaga

Pliki uniwersalnego łącza danych (UDL) nie są obsługiwane dla dostawcy danych .NET Framework dla SQL Server.

Przestroga

W tej wersji aplikacja powinna zachować ostrożność podczas tworzenia parametry połączenia na podstawie danych wejściowych użytkownika (na przykład podczas pobierania identyfikatora użytkownika i informacji o haśle z okna dialogowego i dołączania go do parametry połączenia). Aplikacja powinna upewnić się, że użytkownik nie może osadzić dodatkowych parametrów parametry połączenia w tych wartościach (na przykład wprowadzenie hasła jako "validpassword; database=somedb" podczas próby dołączenia do innej bazy danych). Jeśli musisz skonstruować parametry połączenia na podstawie danych wejściowych użytkownika, użyj nowego SqlConnectionStringBuilderelementu , który weryfikuje parametry połączenia i pomaga wyeliminować ten problem. Aby uzyskać więcej informacji, zobacz Konstruktory parametrów połączenia .

Dotyczy

Zobacz też