Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na tej stronie wymieniono słowa kluczowe parametrów połączenia i nazwy DSN oraz atrybuty połączenia dla sqlSetConnectAttr i SQLGetConnectAttr dostępne w sterowniku ODBC dla programu SQL Server.
Obsługiwane nazwy DSN/parametry połączenia — słowa kluczowe i atrybuty połączenia
W poniższej tabeli wymieniono dostępne słowa kluczowe i atrybuty dla każdej platformy (L: Linux; M: macOS; W: Windows). Wybierz słowo kluczowe lub atrybut, aby uzyskać więcej szczegółów.
Poniżej przedstawiono niektóre słowa kluczowe parametrów połączenia i atrybuty połączenia, które nie są udokumentowane w artykule Using Connection String Keywords with SQL Server Native Client, SQLSetConnectAttr i SQLSetConnectAttr Function.
Description
Służy do opisywania źródła danych.
SQL_COPT_SS_ANSI_OEM
Steruje konwersją danych ANSI na OEM.
| Wartość atrybutu | Description |
|---|---|
| SQL_AO_OFF | (Ustawienie domyślne) Tłumaczenie nie jest wykonywane. |
| SQL_AO_ON | Tłumaczenie jest wykonywane. |
SQL_COPT_SS_AUTOBEGINTXN
Wersja 17.6 lub nowsza, gdy automatyczne zatwierdzanie jest wyłączone, steruje automatycznym ROZPOCZĘCIEM TRANSAKCJI po wycofaniu lub zatwierdzeniu.
| Wartość atrybutu | Description |
|---|---|
| SQL_AUTOBEGINTXN_ON | (Ustawienie domyślne) Automatyczna TRANSAKCJA ROZPOCZNIJ PO WYCOFANIU lub ZATWIERDZENIU. |
| SQL_AUTOBEGINTXN_OFF | Brak automatycznej TRANSAKCJI BEGIN PO WYCOFANIU lub ZATWIERDZENIU. |
SQL_COPT_SS_FALLBACK_CONNECT
Steruje użyciem połączeń rezerwowych programu SQL Server. Ten nie jest już obsługiwany.
| Wartość atrybutu | Description |
|---|---|
| SQL_FB_OFF | (Ustawienie domyślne) Połączenia rezerwowe są wyłączone. |
| SQL_FB_ON | Połączenia rezerwowe są włączone. |
Nowe parametry połączenia — słowa kluczowe i atrybuty połączenia
Uwierzytelnianie — SQL_COPT_SS_AUTHENTICATION
Ustawia tryb uwierzytelniania, który ma być używany podczas nawiązywania połączenia z programem SQL Server. Aby uzyskać więcej informacji, zobacz Using Microsoft Entra ID (Używanie identyfikatora Entra firmy Microsoft).
| Wartość słowa kluczowego | Wartość atrybutu | Description |
|---|---|---|
| SQL_AU_NONE | (Ustawienie domyślne) Nie ustawiono. Kombinacja innych atrybutów określa tryb uwierzytelniania. | |
| SqlPassword | SQL_AU_PASSWORD | Uwierzytelnianie programu SQL Server przy użyciu nazwy użytkownika i hasła. |
| ActiveDirectoryIntegrated | SQL_AU_AD_INTEGRATED | Zintegrowane uwierzytelnianie firmy Microsoft Entra. |
| ActiveDirectoryPassword | SQL_AU_AD_PASSWORD | Uwierzytelnianie za pomocą hasła firmy Microsoft. |
| ActiveDirectoryInteractive | SQL_AU_AD_INTERACTIVE | Microsoft Entra Interactive Authentication. |
| ActiveDirectoryMsi | SQL_AU_AD_MSI | Uwierzytelnianie tożsamości zarządzanej firmy Microsoft Entra. W przypadku tożsamości przypisanej przez użytkownika identyfikator UID jest ustawiony na identyfikator obiektu tożsamości użytkownika. |
| ActiveDirectoryServicePrincipal | SQL_AU_AD_SPA | Uwierzytelnianie jednostki usługi Microsoft Entra. Identyfikator UID jest ustawiony na identyfikator klienta jednostki usługi. Element PWD jest ustawiony na klucz tajny klienta. |
| SQL_AU_RESET | Unset. Zastępuje dowolne ustawienie DSN lub parametrów połączenia. |
Uwaga / Notatka
W przypadku używania Authentication słowa kluczowego lub atrybutu jawnie określ Encrypt ustawienie żądanej wartości w parametrach połączenia / DSN / atrybut połączenia. Aby uzyskać szczegółowe informacje, zobacz Using Connection String Keywords with SQL Server Native Client (Używanie słów kluczowych parametrów połączenia z klientem natywnym programu SQL Server ).
ColumnEncryption — SQL_COPT_SS_COLUMN_ENCRYPTION
Steruje szyfrowaniem przezroczystej kolumny (Always Encrypted). Aby uzyskać więcej informacji, zobacz Using Always Encrypted (ODBC) (Używanie funkcji Always Encrypted (ODBC).
| Wartość słowa kluczowego | Wartość atrybutu | Description |
|---|---|---|
| Włączona | SQL_CE_ENABLED | Włącza funkcję Always Encrypted. |
| Disabled | SQL_CE_DISABLED | (Ustawienie domyślne) Wyłącza funkcję Always Encrypted. |
| SQL_CE_RESULTSETONLY | Włącza tylko odszyfrowywanie (wyniki i zwracane wartości). |
Szyfrować
Określa, czy połączenia używają szyfrowania TLS za pośrednictwem sieci. Możliwe wartości to yes/mandatory(18.0+),optionalno/ (18.0+) i strict(18.0+). Wartość domyślna to yes wersja 18.0 lub nowsza no .
Niezależnie od ustawienia dla Encryptparametru poświadczenia logowania serwera (nazwa użytkownika i hasło) są zawsze szyfrowane.
Encrypt, TrustServerCertificatei ustawienia po stronie Force Encryption serwera odgrywają rolę w tym, czy połączenia są szyfrowane za pośrednictwem sieci. W poniższych tabelach przedstawiono efekt tych ustawień.
Sterownik ODBC 18 i nowszy
| Ustawienie szyfrowania | Certyfikat serwera zaufania | Wymuszanie szyfrowania serwera | wynik |
|---|---|---|---|
| Nie. | Nie. | Nie. | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem nie są szyfrowane. |
| Nie. | Tak | Nie. | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem nie są szyfrowane. |
| Tak | Nie. | Nie. | Certyfikat serwera jest zaznaczony. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Tak | Tak | Nie. | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Nie. | Nie. | Tak | Certyfikat serwera jest zaznaczony. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Nie. | Tak | Tak | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Tak | Nie. | Tak | Certyfikat serwera jest zaznaczony. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Tak | Tak | Tak | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Surowy | - | - | Certyfikat TrustServerCertificate jest ignorowany. Certyfikat serwera jest zaznaczony. Dane wysyłane między klientem a serwerem są szyfrowane. |
Uwaga / Notatka
Ścisłe jest dostępne tylko dla serwerów, które obsługują połączenia TDS 8.0.
Sterownik ODBC 17 i starszy
| Ustawienie szyfrowania | Certyfikat serwera zaufania | Wymuszanie szyfrowania serwera | wynik |
|---|---|---|---|
| Nie. | Nie. | Nie. | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem nie są szyfrowane. |
| Nie. | Tak | Nie. | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem nie są szyfrowane. |
| Tak | Nie. | Nie. | Certyfikat serwera jest zaznaczony. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Tak | Tak | Nie. | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Nie. | Nie. | Tak | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Nie. | Tak | Tak | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Tak | Nie. | Tak | Certyfikat serwera jest zaznaczony. Dane wysyłane między klientem a serwerem są szyfrowane. |
| Tak | Tak | Tak | Certyfikat serwera nie jest sprawdzany. Dane wysyłane między klientem a serwerem są szyfrowane. |
TransparentNetworkIPResolution — SQL_COPT_SS_TNIR
Steruje funkcją rozpoznawania adresów IP przezroczystej sieci, która współdziała z usługą MultiSubnetFailover, aby umożliwić szybsze ponowne nawiązywanie połączenia. Aby uzyskać więcej informacji, zobacz Using Transparent Network IP Resolution (Korzystanie z funkcji przezroczystego rozpoznawania adresów IP sieci).
| Wartość słowa kluczowego | Wartość atrybutu | Description |
|---|---|---|
| Włączona | SQL_IS_ON | (Ustawienie domyślne) Włącza przezroczyste rozpoznawanie adresów IP sieci. |
| Disabled | SQL_IS_OFF | Wyłącza przezroczyste rozpoznawanie adresów IP sieci. |
Korzystanie z narzędziaFMTONLY
Określa użycie funkcji SET FMTONLY dla metadanych podczas nawiązywania połączenia z programem SQL Server 2012 i nowszym.
| Wartość słowa kluczowego | Description |
|---|---|
| Nie. | (Ustawienie domyślne) Jeśli są dostępne, użyj sp_describe_first_result_set metadanych. |
| Tak | Użyj polecenia SET FMTONLY dla metadanych. |
Replication
Określa użycie nazwy logowania replikacji w sterowniku ODBC w wersji 17.8 i nowszej.
| Wartość słowa kluczowego | Description |
|---|---|
| Nie. | (Ustawienie domyślne) Logowanie do replikacji nie jest używane. |
| Tak | Wyzwalacze z opcją NOT FOR REPLICATION nie uruchamiają połączenia. |
RetryExec
Konfigurowalna logika ponawiania prób jest dostępna od wersji 18.1. Automatycznie wykonuje ponownie określone wywołania funkcji ODBC na podstawie konfigurowalnych warunków. Tę funkcję można włączyć za pomocą parametrów połączenia przy użyciu słowa kluczowego RetryExec wraz z listą reguł ponawiania. Każda reguła ponawiania ma trzy dwukropek rozdzielone składniki: dopasowanie błędu, zasady ponawiania i dopasowanie zapytania.
Dopasowanie zapytania określa regułę ponawiania do użycia dla danego wykonania i jest dopasowywana do przychodzącego tekstu polecenia (SQLExecDirect) lub przygotowanego tekstu polecenia w obiekcie instrukcji (SQLExecute). Jeśli więcej niż jedna reguła jest zgodna, zostanie użyta pierwsza zgodna z regułą na liście. To zachowanie umożliwia wyświetlenie reguł w kolejności rosnącej ogólnej. Jeśli reguła nie jest zgodna, nie zostanie zastosowana żadna ponowna próba.
Gdy wykonanie powoduje wystąpienie błędu i istnieje odpowiednia reguła ponawiania próby, jego dopasowanie błędu jest używane do określenia, czy wykonanie powinno zostać ponowione.
Wartość słowa kluczowego RetryExec to lista reguł ponawiania rozdzielonych średnikami.
RetryExec={rule1;rule2}
Reguła ponawiania prób jest następująca: <errormatch>:<retrypolicy>:<querymatch>
Dopasowanie błędu: Rozdzielona przecinkami lista kodów błędów. Na przykład określenie wartości 1000 2000 będzie kodami błędów, które chcesz ponowić.
Zasady ponawiania prób: Określa opóźnienie do następnego ponawiania. Pierwszy parametr będzie liczbą ponownych prób, podczas gdy drugi byłby opóźnieniem. Na przykład 310+7 będzie 3 próby rozpoczynające się od 10, a każda ponawiana próba zwiększy się o 7 sekund. Jeśli +7 nie jest określony, każde z poniższych ponawiania jest wykładniczo podwajane.
Dopasowanie zapytania: Określa zapytanie, z którym chcesz dopasować. Jeśli nic nie zostanie określone, ma zastosowanie do wszystkich zapytań. Określenie opcji SELECT oznaczałoby dla wszystkich zapytań rozpoczynających się od wybrania.
Połączenie wszystkich trzech powyższych składników do użycia w parametrach połączenia byłoby następujące:
RetryExec={1000,2000:3,10+7:SELECT}
Oznacza to: "W przypadku błędów 1000 i 2000 w zapytaniu rozpoczynającym się od funkcji SELECT. Ponów próbę dwukrotnie z początkowym opóźnieniem 10 sekund i dodaniem 7 sekund dla każdej kolejnej próby"
Examples
40501,40540:4,5
W przypadku błędów 40501 i 40540 ponów próbę do czterech razy, z początkowym opóźnieniem 5 sekund i podwojenie wykładnicze między poszczególnymi ponownymi próbami. Ta reguła ma zastosowanie do wszystkich zapytań.
49919:2,10+:CREATE
W przypadku błędu 49919 w zapytaniu rozpoczynającym się od polecenia CREATE spróbuj co najwyżej dwa razy, początkowo po 10 sekundach, a następnie 20 sekund.
49918,40501,10928:5,10+5:SELECT c1
W przypadku błędów, 49918, 40501 i 10928 na zapytaniach rozpoczynających się od select c1, ponów próbę do pięciu razy, czekając 10 sekund na pierwszą ponowną próbę i zwiększając oczekiwanie o 5 sekund później.
Powyższe trzy reguły można określić razem w parametrach połączenia w następujący sposób:
RetryExec={49918,40501,10928:5,10+5:SELECT c1;49919:2,10+:CREATE;40501,40540:4,5}
Na końcu umieszczana jest najbardziej ogólna reguła (match-all), aby zezwolić na dwa bardziej szczegółowe reguły, zanim będą zgodne z odpowiednimi zapytaniami.
Certyfikat Klienta
Określa certyfikat, który ma być używany do uwierzytelniania z połączeniami sprzężenia zwrotnego (dostępny tylko w programie SQL Server w systemie Linux). Dostępne opcje:
| Wartość opcji | Description |
|---|---|
sha1:<hash_value> |
Sterownik ODBC używa skrótu SHA1 do lokalizowania certyfikatu w magazynie certyfikatów systemu Windows |
subject:<subject> |
Sterownik ODBC używa podmiotu do lokalizowania certyfikatu w magazynie certyfikatów systemu Windows |
file:<file_location>[,password:<password>] |
Sterownik ODBC używa pliku certyfikatu. |
Jeśli certyfikat jest w formacie PFX, a klucz prywatny wewnątrz certyfikatu PFX jest chroniony hasłem, słowo kluczowe hasła jest wymagane. W przypadku certyfikatów w formatach PEM i DER atrybut ClientKey jest wymagany
Klucz klienta
Określa lokalizację pliku klucza prywatnego dla PEM lub DER certyfikatów określonych przez atrybut ClientCertificate. Format:
| Wartość opcji | Description |
|---|---|
file:<file_location>[,password:<password>] |
Określa lokalizację pliku klucza prywatnego. |
Jeśli plik klucza prywatnego jest chroniony hasłem, wymagane jest słowo kluczowe hasła. Jeśli hasło zawiera jakiekolwiek , znaki, dodatkowy , znak zostanie dodany natychmiast po każdym z nich. Jeśli na przykład hasłem jest a,b,c, hasło o wartości "unikniętą" w parametrach połączenia to a,,b,,c.
Nazwa hostaInCertyfikat
Określa nazwę hosta, która ma być oczekiwana w certyfikacie serwera podczas negocjowania szyfrowania , jeśli różni się od wartości domyślnej pochodzącej z dodatku/adresu/serwera. Opcja HostnameInCertificate jest ignorowana podczas korzystania z opcji ServerCertificate.
IpAddressPreference
Dostępna od wersji 18.1 ta opcja umożliwia użytkownikowi określenie typu adresu IP, który ma określać priorytety dla połączeń. Możliwe opcje to "IpAddress= [ IPv4First | IPv6First | UsePlatformDefault]." UsePlatformDefault nawiązuje połączenie z adresami w kolejności, w której są one dostarczane przez wywołanie systemowe w celu rozpoznania nazwy serwera. Wartość domyślna to IPv4First, która odpowiada zachowaniu w poprzednich wersjach.
ServerCertificate
Dostępna od wersji 18.1 ta opcja może być używana z trybem ścisłego szyfrowania. Słowo kluczowe ServerCertificate służy do określania ścieżki do pliku certyfikatu zgodnego z certyfikatem TLS/SSL programu SQL Server. Dopasowanie jest wykonywane zamiast standardowej weryfikacji certyfikatu (wygaśnięcie, nazwa hosta, łańcuch zaufania itp.) Akceptowane formaty certyfikatów to PEM, DER i CER. Jeśli zostanie określony, certyfikat programu SQL Server jest sprawdzany, sprawdzając, czy podany certyfikat serwera jest dokładnie zgodny.
SQL_COPT_SS_ACCESS_TOKEN
Umożliwia użycie tokenu dostępu firmy Microsoft Entra do uwierzytelniania. Aby uzyskać więcej informacji, zobacz Using Microsoft Entra ID (Używanie identyfikatora Entra firmy Microsoft).
| Wartość atrybutu | Description |
|---|---|
| ZERO | (Ustawienie domyślne) Nie podano tokenu dostępu. |
| ACCESSTOKEN* | Wskaźnik do tokenu dostępu. |
SQL_COPT_SS_CEKEYSTOREDATA
Komunikuje się z załadowaną biblioteką dostawcy magazynu kluczy. Zobacz Kontrolki przezroczystego szyfrowania kolumn (Always Encrypted). Ten atrybut nie ma wartości domyślnej. Aby uzyskać więcej informacji, zobacz Niestandardowe dostawcy magazynu kluczy.
| Wartość atrybutu | Description |
|---|---|
| CEKEYSTOREDATA * | Struktura danych komunikacji dla biblioteki dostawcy magazynu kluczy |
SQL_COPT_SS_CEKEYSTOREPROVIDER
Ładuje bibliotekę dostawcy magazynu kluczy dla funkcji Always Encrypted lub pobiera nazwy załadowanych bibliotek dostawcy magazynu kluczy. Aby uzyskać więcej informacji, zobacz Niestandardowe dostawcy magazynu kluczy. Ten atrybut nie ma wartości domyślnej.
| Wartość atrybutu | Description |
|---|---|
| Char* | Ścieżka do biblioteki dostawcy magazynu kluczy |
SQL_COPT_SS_ENLIST_IN_XA
Aby włączyć transakcje XA z zgodnym procesorem transakcji XA (TP), aplikacja musi wywołać sqlSetConnectAttr z SQL_COPT_SS_ENLIST_IN_XA i wskaźnikiem XACALLPARAM do obiektu. Ta opcja jest obsługiwana w systemach Windows (17.3 lub nowszych), Linux i macOS.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, param, SQL_IS_POINTER); // XACALLPARAM *param
Aby skojarzyć transakcję XA tylko z połączeniem ODBC, podaj wartość TRUE lub FALSE z SQL_COPT_SS_ENLIST_IN_XA zamiast wskaźnika podczas wywoływania metody SQLSetConnectAttr. To ustawienie jest prawidłowe tylko w systemie Windows i nie może służyć do określania operacji XA za pośrednictwem aplikacji klienckiej.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, (SQLPOINTER)TRUE, 0);
| Wartość | Description | Platformy |
|---|---|---|
| XACALLPARAM, obiekt* | Wskaźnik do XACALLPARAM obiektu. |
Windows, Linux i macOS |
| TRUE | Kojarzy transakcję XA z połączeniem ODBC. Wszystkie powiązane działania bazy danych są wykonywane w ramach ochrony transakcji XA. | Windows |
| FALSE | Usuwa skojarzenie transakcji z połączeniem ODBC. | Windows |
Aby uzyskać więcej informacji na temat transakcji XA, zobacz Using XA Transactions (Używanie transakcji XA).
SQL_COPT_SS_LONGASMAX
Umożliwia wysyłanie danych typu długiego do serwerów jako maksymalnego typu danych.
| Wartość atrybutu | Description |
|---|---|
| Nie. | (Ustawienie domyślne) Nie konwertuj typów długich na maksymalne typy podczas wysyłania. |
| Tak | Konwertuje dane z długich typów na maksymalne typy podczas wysyłania. |
SQL_COPT_SS_SPID
Pobiera identyfikator sesji połączenia. Ta właściwość jest równoważna zmiennej T-SQL @@SPID , z tą różnicą, że nie powoduje dodatkowej rundy na serwerze.
| Wartość atrybutu | Description |
|---|---|
| DWORD | SPID |