Udostępnij za pośrednictwem


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); };
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
member this.ConnectionString : string with get, set
Public Overrides 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.

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 obiekt i ustawia ConnectionString właściwość przed otwarciem połączenia.

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
        OpenSqlConnection();
        Console.ReadLine();
    }

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

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 ustawiono wartość false Utrwalanie informacji zabezpieczających (wartość domyślna). Dostawca danych .NET Framework dla SQL Server nie będzie utrwalał ani nie zwracał hasła w parametry połączenia, chyba że ustawiono opcję Utrwalanie informacji zabezpieczających na truewartość .
Możesz użyć ConnectionString właściwości , aby 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 skonstruować 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 wartości parametry połączenia ma odpowiednie właściwości tylko do odczytu. Po ustawieniu parametry połączenia te właściwości są aktualizowane, z wyjątkiem sytuacji, gdy zostanie wykryty błąd. 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 obiekcie 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 wystąpieniem domyślnym na komputerze lokalnym.

Zresetowanie elementu dla zamkniętego połączenia 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ą wartość "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, generowany jest 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 znaki pojedynczego cudzysłowu. Pojedynczy cudzysłów jest również przydatny, jeśli wartość zaczyna się od znaku 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ć podwojony 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 wiodące lub końcowe spacje wokół liczb całkowitych, logicznych lub wyliczeń są ignorowane, nawet jeśli są ujęte w cudzysłów. Jednak spacje w obrębie słowa kluczowego literału ciągu lub wartości są zachowywane. Znaki pojedynczego lub podwójnego cudzysłowu mogą być używane w parametry połączenia bez użycia ograniczników (na przykład Źródło danych = my'Server lub Data Source= my"Server), chyba że znak cudzysłowu jest pierwszym lub ostatnim znakiem w wartości.

W słowach kluczowych nie jest uwzględniana wielkość 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.
Intencja aplikacji

-lub-

Applicationintent
Odczyt/zapis 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 Sql Dla wysokiej dostępności i odzyskiwania po awarii).
Nazwa aplikacji Nie dotyczy Nazwa aplikacji. Jeśli nie podano nazwy aplikacji, "Framework Microsoft SqlClient Data Provider" podczas uruchamiania w .NET Framework i "Core Microsoft SqlClient Data Provider" w przeciwnym razie.

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

-lub-

Właściwości rozszerzone

-lub-

Nazwa pliku początkowego
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 podstawowych plików danych 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 zostanie użyta 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 podstawienia DataDirectory. Jeśli jest używany element DataDirectory, plik bazy danych musi istnieć w podkatalogu katalogu wskazywanego przez ciąg podstawienia. Uwaga: Nazwy ścieżek SERWERA zdalnego, HTTP i UNC nie są obsługiwane.

Nazwa bazy danych musi być określona za pomocą słowa kluczowego "database" (lub jednego z jego aliasów), jak pokazano poniżej:

"AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"

Błąd zostanie wygenerowany, jeśli plik dziennika istnieje w tym samym katalogu co plik danych, a słowo kluczowe "database" 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.
Protokół zaświadczania Nieokreślone Pobiera lub ustawia wartość protokołu zaświadczania.

Jeśli żadna wartość nie zostanie określona, bezpieczne enklawy są wyłączone w połączeniu.

Prawidłowe wartości:
AAS
HGS
None (Tylko w wersji 3.1 i 4.1 lub nowszej))
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 Interactive, Active Directory Password, Active Directory Service Principal, Active Directory Device Code Flow, Active Directory Managed Identity, Active Directory MSI, Active Directory Default, Sql Password.

Aby uzyskać dodatkowe informacje, zobacz Using Azure Active Directory authentication with SqlClient (Używanie uwierzytelniania usługi Azure Active Directory z programem SqlClient).
Ustawienie szyfrowania kolumn wyłączone Włącza lub wyłącza funkcje Always Encrypted dla połączenia. Obsługiwane wartości to: enabled i disabled
Limit czasu polecenia 30 Domyślny czas oczekiwania (w sekundach) przed zakończeniem próby wykonania polecenia i wygenerowaniu błędu.

Prawidłowe wartości są większe lub równe 0 i mniejsze lub równe 2147483647.
Łączenie liczby ponownych prób

-lub-

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. 0 oznacza, że nie próbuj ponownie nawiązać połączenia (wyłącz odporność połączenia).

Uwaga: ponieważ w wersji 5.x wartość domyślna dla punktów końcowych spoza platformy Azure wynosi 1. W przypadku Azure SQL punktów końcowych wartość domyślna to 2. W przypadku Azure SQL punktów końcowych bezserwerowych lub na żądanie wartość domyślna to 5, aby poprawić powodzenie połączenia dla połączeń z bezczynnym lub wstrzymanym wystąpieniem.

Aby uzyskać dodatkowe informacje na temat odporności bezczynnoś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óby połączenia i artykuł techniczny — odporność bezczynności połączenia).
Łączenie interwału ponawiania prób

-lub-

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 ConnectRetryCount jest większa niż 0. Jeśli pierwsza próba ponownego nawiązania połączenia nie powiedzie się i ConnectRetryCount jest większa niż 1, klient czeka na ConnectRetryInterval próbę drugiego i kolejnych ponownych prób nawiązania połączenia.

Aby uzyskać dodatkowe informacje na temat odporności bezczynności połączenia, zobacz.NET SqlConnection parameters for connection retry and Technical Article - Idle Connection Resiliency (Parametry połączenia SQLConnection dla ponawiania prób połączenia i artykuł techniczny — odporność bezczynności 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.
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)

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 będzie nawiązywać połączenie aplikacja .NET.

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.
Adres URL zaświadczania enklawy Nie dotyczy Pobiera lub ustawia adres URL zaświadczania enklawy, który ma być używany z enklawą opartą Always Encrypted.
Encrypt Wartość "true" w wersji 4.0 lub nowszej

Wartość "false" w wersji 3.x i poniżej
Rozpoznane wartości to:
wersje 1–4: true/yes i false/no
wersje 5+: true/yes/mandatory, falseno//optional i .strict W przypadku true, szyfrowanie TLS jest używane dla wszystkich danych wysyłanych między klientem a serwerem, jeśli serwer ma zainstalowany certyfikat. Gdy strictjest używane szyfrowanie TLS TDS 8.0, a TrustServerCertificate ustawienie jest ignorowane i traktowane jako false. Aby uzyskać więcej informacji, zobacz Składnia parametrów połączenia.

Gdy Encrypt wartość to mandatory lub TrustServerCertificatestrict i ma falsewartość , nazwa serwera (lub adres IP) w certyfikacie serwera musi dokładnie odpowiadać nazwie serwera (lub adresowi IP) określonej 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.
Nazwa SPN partnera trybu failover

-lub-

Failoverpartnerspn
Nie dotyczy Nazwa SPN partnera trybu failover. Wartość domyślna to pusty ciąg, co powoduje, że program SqlClient używa domyślnej, wygenerowanej przez sterownik nazwy SPN.

(Dostępne tylko w wersji 5.0 lub nowszej)
Nazwa hosta w certyfikacie

-lub-

HostNameInCertificate
Nie dotyczy Nazwa hosta do użycia podczas weryfikowania certyfikatu serwera. Jeśli nie zostanie określona, nazwa serwera ze źródła danych jest używana do walidacji certyfikatu.

(Dostępne tylko w wersji 5.0 lub nowszej)
Certyfikat serwera

-lub-

ServerCertificate
Nie dotyczy Ścieżka do pliku certyfikatu zgodnego z certyfikatem tls/SSL SQL Server. Akceptowane formaty certyfikatów to PEM, DER i CER. Jeśli zostanie określony, certyfikat SQL Server jest sprawdzany przez sprawdzenie, czy podany parametr ServerCertificate jest dokładnym dopasowaniem.

(Dostępne tylko w wersji 5.1 lub nowszej)
Katalog początkowy

-lub-

baza danych
Nie dotyczy Nazwa bazy danych.

Nazwa bazy danych może wynosić 128 znaków lub mniej.
Zintegrowane zabezpieczenia

-lub-

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

Rozpoznane wartości to true, , false, noyesi 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 i zostaną użyte zintegrowane zabezpieczenia.

SqlCredentialJest to bardziej bezpieczny sposób określania poświadczeń dla połączenia korzystającego z uwierzytelniania SQL Server (Integrated Security=false).
Preferencje adresu IP

-lub-

IpAddressPreference
IPv4First Preferencja rodziny adresów IP podczas nawiązywania połączeń TCP. Jeśli Transparent Network IP Resolution (w .NET Framework) lub Multi Subnet Failover ma wartość true, to ustawienie nie ma wpływu. Obsługiwane wartości:

IPAddressPreference=IPv4First

IPAddressPreference=IPv6First

IPAddressPreference=UsePlatformDefault
Limit czasu równoważenia obciążenia

-lub-

Okres istnienia połączenia
0 Po powrocie połączenia do puli jego czas tworzenia jest porównywany z bieżącym czasem, 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 po prostu przeniesionym w tryb online.

Wartość zero (0) powoduje, że połączenia w puli mają maksymalny limit czasu połączenia.
Maksymalny rozmiar puli 100 Maksymalna liczba połączeń dozwolonych w puli.

Prawidłowe wartości są większe lub równe 1. Wartości, które są mniejsze niż minimalny rozmiar puli , generują błąd.
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.

Wartości większe niż maksymalny rozmiar puli generują błąd.
Wiele aktywnych zestawów wyników

-lub-

MultipleActiveResultSets
fałsz 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ę na tym połączeniu.

Rozpoznane wartości to true i false.

Aby uzyskać więcej informacji, zobacz Wiele aktywnych zestawów wyników (MARS).
Tryb failover z wieloma podsieciami

-lub-

Multisubnetfailover
fałsz 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 SQL Server 2012 (lub nowszym) wystąpieniem klastra trybu failover. multiSubnetFailover=True Konfiguruje program SqlClient w celu zapewnienia szybszego wykrywania i nawiązywania połączenia z (obecnie) aktywnym serwerem. Możliwe wartości to Yes i , TrueNoi False lub 1 i 0. Na przykład:

MultiSubnetFailover=True

Wartość domyślna to False. Aby uzyskać więcej informacji na temat obsługi zawsze włączonych grup AGs programu SqlClient, zobacz SqlClient Support for High Availability, Disaster Recovery (Obsługa klienta SqlClient pod kątem 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żywasz serwera lokalnego (na przykład "." lub "(local)"), używana jest pamięć współdzielona. W tym przykładzie biblioteka sieciowa to Win32 Winsock TCP/IP (dbmssocn), a 1433 jest używanym portem.

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 lub token dostępu, nie są zwracane jako część połączenia, jeśli połączenie jest otwarte lub kiedykolwiek było otwarte. Tę właściwość należy ustawić true tylko wtedy, gdy aplikacja musi odczytać hasło z już otwartego połączenia z bazą danych. Wartość domyślna false to bezpieczniejsze ustawienie. Użycie true tej właściwości powoduje otwarcie aplikacji na zagrożenia bezpieczeństwa, takie jak przypadkowe rejestrowanie lub śledzenie hasła bazy danych.

Zresetowanie parametry połączenia spowoduje zresetowanie wszystkich wartości parametry połączenia, w tym hasła. Rozpoznane wartości to true, false, yesi no.
Okres blokowania puli

-lub-

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.
Nazwa SPN serwera

-lub-

Serverspn
Nie dotyczy Nazwa SPN dla źródła danych. Wartość domyślna to pusty ciąg, który powoduje, że sqlClient używa domyślnej, wygenerowanej przez sterownik nazwy SPN.

(Dostępne tylko w wersji 5.0 lub nowszej)
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 wersji .NET Framework 4.0, 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.
Przezroczyste rozpoznawanie adresów IP sieci

-lub-

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. Po pierwszych odpowiedziach aplikacja nawiąże połączenie z adresem IP respondenta.

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

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

Wartość tego klucza musi mieć truewartość , false, yeslub 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 usługą Azure SQL Database, gdzie ź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.
Certyfikat serwera zaufania

-lub-

Trustservercertificate
"false" W przypadku ustawienia wartości trueprotokół TLS jest używany do szyfrowania kanału podczas pomijania chodzenia przez łańcuch certyfikatów w celu zweryfikowania zaufania. Jeśli właściwość TrustServerCertificate jest ustawiona na true wartość , a dla opcji Szyfruj ustawiono wartość false, kanał nie jest szyfrowany. Rozpoznane wartości to true, false, yesi no. Aby uzyskać więcej informacji, zobacz Składnia parametrów połączenia.
Wersja systemu typów 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ą pozwala uniknąć potencjalnych problemów, które mogą spowodować przerwanie działania aplikacji w przypadku użycia innej wersji 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. Pozostałe Type System Version ustawienia będą wymagały 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 Integrated Security słów kluczowych lub Trusted_Connection . SqlCredentialto bezpieczniejszy sposób określania poświadczeń dla połączenia korzystającego z uwierzytelniania SQL Server.

Identyfikator użytkownika musi zawierać co najmniej 128 znaków.
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ć co najmniej 128 znaków.

Poniższa lista zawiera prawidłowe nazwy wartości buforowania połączeń w obrębie .ConnectionString Aby uzyskać więcej informacji, zobacz SQL Server Łączenie połączeń (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 buforowania 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 linku uniwersalnego danych (UDL) nie są obsługiwane w przypadku dostawcy danych .NET Framework dla SQL Server.

Przestroga

W tej wersji aplikacja powinna zachować ostrożność podczas konstruowania 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 jej 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 utworzyć 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