Sdílet prostřednictvím


Nastavení vlastností připojení

Stáhnout ovladač JDBC

Vlastnosti připojovacího řetězce lze zadat různými způsoby:

  • Jako vlastnosti name=value v adrese URL připojení při připojení pomocí třídy DriverManager. Syntaxi připojovacího řetězce najdete v tématu Sestavení adresy URL připojení.

  • Jako vlastnosti ve formátu name=value v parametru Properties metody Connect ve třídě DriverManager.

  • Hodnoty v metodě setteru příslušného zdroje dat ovladače. Například:

    datasource.setServerName(value)
    datasource.setDatabaseName(value)
    

Poznámky

Názvy vlastností nerozlišují malá a velká písmena a duplicitní názvy vlastností se řeší v následujícím pořadí:

  1. Argumenty rozhraní API (například uživatel a heslo)
  2. Kolekce vlastností
  3. Poslední instance v připojovacím řetězci

Pro názvy vlastností jsou povolené neznámé hodnoty a ovladač JDBC neověřuje citlivost písmen.

Synonyma jsou povolena a jsou řešena v pořadí, stejně jako duplicitní názvy vlastností.

Vlastnosti

V následující tabulce jsou uvedeny všechny aktuálně dostupné vlastnosti připojovacího řetězce pro ovladač JDBC.

Vlastnost
Typ
Výchozí
Popis
accessToken

Řetězec

nula
(Verze 6.0+) Pomocí této vlastnosti se můžete připojit k databázi pomocí přístupového tokenu. nelze nastavit accessToken pomocí adresy URL připojení.
accessTokenCallbackClass

Řetězec

nula
(Verze 12.4+) Název třídy implementace zpětného volání, která se má použít s zpětným voláním přístupového tokenu.
záměr aplikace

Řetězec

ReadWrite
(Verze 6.0+) Deklaruje typ úlohy aplikace pro připojení k serveru.

Možné hodnoty jsou readOnly a ReadWrite.

Další informace o zotavení po havárii najdete v tématu podpora ovladačů JDBC pro zajištění vysoké dostupnosti, zotavení po havárii.
název aplikace

Řetězec
[<=128 char]

nula
Název aplikace nebo "Ovladač Microsoft JDBC pro SQL Server", pokud není zadán žádný název.

Používá se k identifikaci konkrétní aplikace v různých nástrojích pro profilaci a protokolování SQL Serveru.
autentizace

Řetězec

Nespecifikováno
(Verze 6.0+) Tato volitelná vlastnost označuje, kterou metodu ověřování se má použít pro připojení. Možné hodnoty jsou ActiveDirectoryIntegrated, ActiveDirectoryPassword, ActiveDirectoryManagedIdentity (verze 12.2+), ActiveDirectoryMSI (verze 7.2+), ActiveDirectoryInteractive (verze 9.2+), ActiveDirectoryServicePrincipal (verze 9.2+), SqlPassworda výchozí Nespecifikováno.

Pomocí ActiveDirectoryIntegrated (verze 6.0+) se připojte k SQL pomocí integrovaného ověřování systému Windows.

Pomocí ActiveDirectoryPassword (verze 6.0+) se připojte k SQL pomocí hlavního názvu a hesla Microsoft Entra.

K připojení k SQL z prostředku Azure použijte ActiveDirectoryManagedIdentity (verze 12.2+) nebo ActiveDirectoryMSI (verze 7.2 nebo novější). Například virtuální počítač Azure, App Service nebo aplikace funkcí využívající ověřování spravované identity.

Dva typy spravovaných identit podporovaných ovladačem při použití ActiveDirectoryManagedIdentity nebo ActiveDirectoryMSI režimu ověřování jsou:
1. System-Assigned spravovaná identita: Používá se k získání výchozího přístupového tokenu.
2. User-Assigned spravované identity: Používá se k získání accessToken, pokud je ID klienta spravované identity zadané pomocí připojovací vlastnosti msiClientId.

K připojení k databázi pomocí interaktivního ověřovacího toku použijte ActiveDirectoryInteractive.

Pomocí ActiveDirectoryServicePrincipal (verze 9.2+) se připojte k databázi pomocí ID klienta a tajemství služební identity. Zadejte ID klienta ve vlastnosti userName a tajný kód ve vlastnosti hesla (10.2+).

Prostřednictvím SqlPassword se připojte k SQL pomocí vlastnosti uživatele userName/ a vlastnosti hesla password.

Pokud není potřeba žádná z těchto metod ověřování, použijte "Nezadaná".

Důležité: Pokud je ověřování nastaveno na ActiveDirectoryIntegrated, musí být nainstalovány následující dvě knihovny: mssql-jdbc_auth-<verze>–<arch>.dll (k dispozici v balíčku ovladače JDBC) a Microsoft Authentication Library pro SQL Server (ADAL.DLL). Knihovnu Microsoft Authentication Library lze nainstalovat z ovladače Microsoft ODBC pro SQL Server nebo ovladač Microsoft OLE DB pro SQL Server. Ovladač JDBC podporuje pouze verze 1.0.2028.318 a vyšší pro ADAL.DLL.

Poznámka: Pokud je vlastnost ověřování nastavena na libovolnou jinou hodnotu než Nezadaná, ovladač ve výchozím nastavení používá šifrování TLS (Transport Layer Security), dříve označované jako Ssl (Secure Sockets Layer).

Informace o konfiguraci ověřování Microsoft Entra naleznete v tématu Použití ověřování Microsoft Entra.
autentizační schéma

Řetězec

Nativní ověřování
Určuje, jaký druh integrovaného zabezpečení chcete, aby vaše aplikace používala. Možné hodnoty jsou JavaKerberos, NTLM (verze 7.4+) a výchozí NativeAuthentication.

NativeAuthentication způsobí, že ovladač načte mssql-jdbc_auth-<version>-<arch>.dll (například mssql-jdbc_auth-8.2.2.x64.dll) v systému Windows, který slouží k získání integrovaných ověřovacích informací.

(Načtená nativní knihovna ověřování má název sqljdbc_auth.dll při použití ovladačů verze 6.0 až 7.4.)

Při použití authenticationScheme=JavaKerberosje nutné zadat plně kvalifikovaný název domény (FQDN) ve vlastnosti serverName nebo serverSpn. V opačném případě dojde k chybě (server nebyl nalezen v databázi Kerberos).

Další informace o použití authenticationScheme=JavaKerberosnaleznete v tématu Použití integrovaného ověřování Kerberos pro připojení k SQL Serveru.

Při použití authenticationScheme=NTLMje nutné zadat doménu systému Windows pomocí vlastnosti doména nebo domainName, přihlašovací údaje systému Windows ve vlastnosti uživatel nebo uživatelské jméno a vlastnost heslo. V opačném případě dojde k chybě (musí být zadány vlastnosti připojení).
cacheBulkCopyMetadata

booleovský
["pravda" | "nepravda"]

falešný
(Verze 12.8+) Při použití useBulkCopyForBatchInsert=true, tato vlastnost slouží k určení ovladače, zda má ukládat do mezipaměti metadata cílového sloupce na úrovni připojení. Pokud je nastaveno true, ujistěte se, aby se cíl mezi hromadným vkládáním nezměnil, protože ovladač tuto změnu neumí zpracovat.
calcBigDecimalPrecision

booleovský
["pravda" | "nepravda"]

falešný
(Verze 12.6+) Příznak označující, zda má ovladač vypočítat přesnost pro vstupy BigDecimal, na rozdíl od použití maximální povolené hodnoty pro přesnost (38).
cancelQueryTimeout

Int

-1
(Verze 6.4+) Tuto vlastnost lze použít ke zrušení queryTimeout nastaveného na připojení. Zpracování dotazu přestane reagovat a nevyvolá výjimku, pokud je připojení TCP k serveru tiše přerušeno. Tato vlastnost je použitelná pouze v případě, že je v připojení nastavená vlastnost queryTimeout.

Ovladač čeká celkový čas cancelQueryTimeout + queryTimeout v sekundách, aby ukončil připojení a zavřel kanál.

Výchozí hodnota této vlastnosti je -1 a chování je čekání na neomezenou dobu.
klientský certifikát

Řetězec

nula
(Verze 8.4+) Určuje umístění certifikátu, které se má použít pro ověřování klientských certifikátů. Ovladač JDBC podporuje přípony souborů PFX, PEM, DER a CER.

Podrobnosti naleznete v části Ověřování klientských certifikátů pro scénáře návratové smyčky.
klíč klienta

Řetězec

nula
(Verze 8.4+) Určuje umístění privátního klíče pro certifikáty PEM, DER a CER určené atributem clientCertificate.

Podrobnosti naleznete v části Ověřování klientských certifikátů pro scénáře návratové smyčky.
UživatelskýKódHeslo

Řetězec

nula
(Verze 8.4+) Určuje volitelný řetězec hesla pro přístup k privátnímu klíči souboru clientKey.

Podrobnosti naleznete v části Ověřování klientských certifikátů pro scénáře návratové smyčky.
nastavení šifrování sloupců

Řetězec
["Povoleno" | "Zakázáno"]

Invalidní
(Verze 6.0+) Pokud chcete použít funkci Always Encrypted (AE), nastavte na Povoleno. Pokud je povolená funkce AE, ovladač JDBC transparentně šifruje a dešifruje citlivá data uložená v šifrovaných databázových sloupcích na serveru.

Další informace o funkci Always Encrypted naleznete v tématu Použití funkce Always Encrypted s ovladačem JDBC.

Poznámka: funkce Always Encrypted je dostupná s SQL Serverem 2016 nebo novějším a službou Azure SQL Database.
početPokusuOPřipojení

Int
[0..255]

1
(Verze 9.4+) Počet pokusů o opětovné připojení, pokud dojde k selhání připojení.
connectRetryInterval

Int
[1..60]

10
(Verze 9.4+) Počet sekund mezi jednotlivými pokusy o opakování připojení.
název databáze
databáze

Řetězec
[<=128 char]

nula
Název databáze, ke které se chcete připojit.

Pokud není uvedeno, vytvoří se připojení k výchozí databázi.
datetimeParameterType (typ parametru data a času)

Řetězec
["datetime" | "datetime2" | "datetimeoffset"]

datetime2
(Verze 12.2+) Datový typ SQL, který se má použít pro parametry data a časového razítka Java.

Když se připojujete k SQL Serveru 2016 nebo novějšímu a pracujete se staršími hodnotami datetime, můžou klienti využít nastavení vlastnosti na datetime. Toto nastavení snižuje problémy s převodem na straně serveru mezi hodnotami datetime a datetime2. Další informace najdete v tématu Řešení změny chování při převodu z datetime na datetime2 od SQL Serveru 2016
delayLoadingLobs

booleovský
["pravda" | "nepravda"]

pravda
Příznak označující, jestli se mají streamovat nebo ne streamovat všechny objekty LOB načtené z resultSet. Nastavení této vlastnosti na hodnotu false načte celý objekt LOB do paměti bez streamování.
název domény
doména

Řetězec
nula
(Verze 7.4+) Doména Systému Windows k ověření při použití ověřování NTLM.
zakázat sdružování příkazů

booleovský
["pravda" | "nepravda"]

pravda
Příznak označuje, jestli se má použít sdružování příkazů.
enablePrepareOnFirst...
Volání Připravený příkaz

booleovský
["pravda" | "nepravda"]

falešný
Nastavením na hodnotu true povolíte vytváření připravených příkazů voláním sp_prepexec s prvním spuštěním připraveného příkazu.

Pokud chcete změnit první spuštění připraveného příkazu tak, aby volal sp_executesql, a ne připravit příkaz, nastavte na hodnotu false. Pokud dojde k druhému spuštění, volá sp_prepexec, aby nastavil připravený příkazový popisovač.
enclaveAttestationUrl

Řetězec

nula
(Verze 8.2+) Tato volitelná vlastnost označuje adresu URL koncového bodu služby ověření identity, která se má použít pro Always Encrypted se zabezpečenými enklávy.

Další informace o funkci Always Encrypted se zabezpečenými enklávy najdete v tématu Funkce Always Encrypted se zabezpečenými enklávy.
enclaveAttestationProtocol

Řetězec

nula
(Verze 8.2+) Tato volitelná vlastnost označuje protokol ověření identity, který se má použít pro Always Encrypted se zabezpečenými enklávy. V současné době jsou jedinými podporovanými hodnotami pro toto pole HGS, AAS a NONE (NONE se podporuje pouze ve verzi 11.2+).

Další informace o funkci Always Encrypted se zabezpečenými enklávy najdete v tématu Funkce Always Encrypted se zabezpečenými enklávy.
zašifrovat

Řetězec

nula
Nastavte hodnotu true a určete, že SQL Server používá šifrování TLS pro všechna data odesílaná mezi klientem a serverem, pokud má server nainstalovaný certifikát. Výchozí hodnota je true ve verzi 10.2 a novější a "false" ve verzi 9.4 a starší.

Ve verzi 6.0 a novější je k dispozici nové nastavení připojení nazvané 'ověřování', které ve výchozím nastavení používá šifrování TLS.

Další informace o této vlastnosti naleznete ve vlastnosti ověřování.

Ve verzi 11.2.0 a novější došlo ke změně šifrování z logická na řetězec, což umožňuje podporu pro TDS 8.0, pokud je vlastnost nastavena na striktní.
failoverPartner

Řetězec

nula
Název serveru převzetí služeb při selhání používaného v konfiguraci zrcadlení databáze. Tato vlastnost se používá pro počáteční selhání připojení k hlavnímu serveru. Po provedení počátečního připojení bude tato vlastnost ignorována. Musí být použito s vlastností databaseName.

Poznámka: Ovladač nepodporuje číslo portu instance serveru pro instanci partnera s podporou převzetí služeb při selhání jako součást vlastnosti failoverPartner v připojovacím řetězci. Ovladač podporuje zadávání vlastností serverName, instanceName a portNumber pro instanci hlavního serveru a vlastnosti failoverPartner pro instanci partnera převzetí služeb ve stejném připojovacím řetězci.

Pokud zadáte název virtuální sítě ve vlastnosti připojení Server, nemůžete použít zrcadlení databáze. Další informace o zotavení po havárii najdete v tématu podpora ovladačů JDBC pro zajištění vysoké dostupnosti, zotavení po havárii
fips

booleovský
["pravda" | "nepravda"]

nepravda
Pro rozhraní FIPS enabled Java Virtual Machine (JVM) by tato vlastnost měla být true.
fipsProvider

Řetězec

nula
Poskytovatel FIPS nakonfigurovaný v prostředí JVM. Například BCFIPS nebo SunPKCS11-NSS. Odebráno ve verzi 6.4.0. Další informace najdete viz problém na GitHubu 460.
gsscredential

org.ietf.jgss.GSSCredential

nula
(Verze 6.2+) Přihlašovací údaje uživatele, které se mají použít pro omezené delegování protokolu Kerberos, je možné předat v této vlastnosti.

Toto nastavení by mělo být použito s integratedSecurity jako true a JavaKerberos jako autentizační schéma.
názevHostiteleVcertifikátu

Řetězec

nula
Název hostitele, který se má použít k ověření certifikátu TLS/SSL SQL Serveru.

Možnost hostNameInCertificate lze použít k zadání názvu hostitele v situacích, kdy název nebo názvy použité v certifikátu neodpovídají názvu předanému vlastnosti serverName. Pokud ale existuje shoda, neměla by se použít možnost hostNameInCertificate.

V situacích, kdy vlastnost hostNameInCertificate není zadaná nebo nastavená na hodnotu null, ovladač Microsoft JDBC pro SQL Server používá hodnotu vlastnosti název_serveru na adrese URL připojení jako název hostitele k ověření certifikátu TLS/SSL SQL Serveru.

Poznámka: Jak popisuje předchozí odstavec, nedoporučuje se nastavovat možnost hostNameInCertificate, pokud nemůžete potvrdit, že název nebo názvy v certifikátu neodpovídají těm, které jsou předány v možnosti serverName.

Poznámka: Tato vlastnost se používá v kombinaci s vlastnostmi šifrování ověřovánía vlastností trustServerCertificate. Tato vlastnost ovlivňuje ověření certifikátu, pokud připojení používá šifrování TLS a trustServerCertificate je nastavena na false. Ujistěte se, že hodnota předaná hostNameInCertificate odpovídá Obecnému jménu (CN) nebo jménu DNS v Alternativním názvu subjektu (SAN) v certifikátu serveru, aby spojení TLS mohlo být úspěšné. Další informace o podpoře šifrování najdete v tématu Principy podpory šifrování.
název instance

Řetězec
[<=128 char]

nula
Název instance databáze, ke které se chcete připojit. Pokud není zadané, vytvoří se připojení k výchozí instanci. V případě, že jsou zadané jak název instance, tak i port, podívejte se na poznámky týkající se portu.

Pokud zadáte název virtuální sítě ve vlastnosti připojení Server, nemůžete použít vlastnost připojení instanceName. Další informace o zotavení po havárii naleznete v tématu JDBC Driver Support for High Availability, Disaster Recovery.
integrované zabezpečení

booleovský
["pravda" | "nepravda"]

falešný
Nastavte na true, aby bylo uvedeno, že SQL Server používá přihlašovací údaje systému Windows v operačních systémech Windows. Pokud je hodnota true, ovladač JDBC vyhledá v mezipaměti přihlašovacích údajů místního počítače přihlašovací údaje, které byly zadány, když se uživatel přihlásil k počítači nebo síti.

Nastavte na true (s authenticationscheme=JavaKerberos), aby bylo uvedeno, že SQL Server používá přihlašovací údaje Kerberos. Další informace o ověřování protokolem Kerberos naleznete v tématu Použití integrovaného ověřování Kerberos pro připojení k SQL Serveru.

Nastavte na true (s authenticationscheme=NTLM), aby bylo uvedeno, že SQL Server používá přihlašovací údaje NTLM.

Pokud je "false", musí být zadáno uživatelské jméno a heslo.
ipaddresspreference

Řetězec
[<=128 char]

IPv4First
Předvolba PROTOKOLU IP používaná klientskou aplikací.

Při IPV4Firstovladač nejprve prochází adresy IPv4. Pokud se k úspěšnému připojení žádné adresy IPv4 nedají připojit, ovladač pokračuje a pokusí se o adresy IPv6, pokud nějaké existují.

Při IPV6Firstovladač nejprve prochází adresami IPv6. Pokud se k úspěšnému připojení žádné adresy IPv6 nedají připojit, ovladač pokračuje a zkouší adresy IPv4, pokud nějaké existují.

S UsePlatformDefaultovladač prochází všechny IP adresy v jejich původním pořadí z rozlišení DNS.
jaasConfigurationName (název konfigurace JAAS)

Řetězec

SQLJDBCDriver
(Verze 6.2+) Každé připojení k SQL Serveru může k navázání připojení Kerberos použít vlastní přihlašovací název JAAS. Název položky konfigurace lze předat prostřednictvím této vlastnosti. Tato vlastnost je určena k použití při vytvoření konfiguračního souboru Kerberos. Ve výchozím nastavení ovladač hledá název SQLJDBCDriver.

Pokud se externí konfigurace nenajde, ovladač nastaví useDefaultCcache = true pro počítače IBM JVM a useTicketCache = true pro ostatní počítače JVM.
autentizace úložiště klíčů

Řetězec

nula
(Verze 6.0+) Tato vlastnost identifikuje úložiště klíčů, které se má použít s funkcí Always Encrypted, a určuje ověřovací mechanismus použitý k ověření v úložišti klíčů. Ovladač podporuje bezproblémové nastavení úložiště klíčů Java, když nastavíte "keyStoreAuthentication=JavaKeyStorePassword". Chcete-li použít tuto vlastnost, musíte také nastavit vlastnosti keyStoreLocation a keyStoreSecret pro úložiště klíčů Java.

Další informace o funkci Always Encrypted naleznete v tématu Použití funkce Always Encrypted s ovladačem JDBC.

Počínaje ovladačem Microsoft JDBC 8.4 můžete nastavitkeyStoreAuthentication=KeyVaultManagedIdentity" nebo "keyStoreAuthentication=KeyVaultClientSecret" pro ověření ve službě Azure Key Vault pomocí spravovaných identit.

Další informace o funkci Always Encrypted naleznete v tématu Použití funkce Always Encrypted s ovladačem JDBC.
umístění úložiště klíčů

Řetězec

nula
(Verze 6.0+) Když je keyStoreAuthentication=JavaKeyStorePassword, určuje vlastnost keyStoreLocation cestu k souboru úložiště Java klíčů, který obsahuje Hlavní klíč sloupce používaný s daty Always Encrypted. Cesta musí obsahovat název souboru úložiště klíčů.

Další informace o funkci Always Encrypted naleznete v tématu Použití funkce Always Encrypted s ovladačem JDBC.
keyStorePrincipalId

Řetězec

nula
(Verze 8.4+) Když keyStoreAuthentication=KeyVaultManagedIdentity, vlastnost keyStorePrincipalId určuje platné ID klienta aplikace Microsoft Entra.

Další informace o funkci Always Encrypted naleznete v tématu Použití funkce Always Encrypted s ovladačem JDBC.
keyStoreSecret

Řetězec

nula
(Verze 6.0+) Při keyStoreAuthentication=JavaKeyStorePassword, keyStoreSecret vlastnost identifikuje heslo, které se má použít pro úložiště klíčů a klíč. Pokud používáte úložiště klíčů Java, úložiště klíčů a heslo klíče musí být stejné.

Další informace o funkci Always Encrypted naleznete v tématu Použití funkce Always Encrypted s ovladačem JDBC.
početPosledníchAktualizací

booleovský
["pravda" | "nepravda"]

pravda
Hodnota true vrátí pouze poslední počet aktualizací z příkazu SQL předaného serveru. Používá se také pouze u jednotlivých příkazů SELECT, INSERT nebo DELETE a ignorují se tak jiné počty aktualizací, které mohou způsobit triggery serveru. Nastavení této vlastnosti na false způsobí vrácení všech aktualizačních počtů, včetně počtu aktualizací vrácených triggery serveru.

Poznámka: Tato vlastnost platí pouze v případě, že se používá s metodami executeUpdate. Všechny ostatní metody spuštění vrátí všechny výsledky a počty aktualizací. Tato vlastnost má vliv pouze na počty aktualizací vrácené triggery serveru. Nemá vliv na sady výsledků ani chyby, které jsou výsledkem při spuštění triggeru.
lockTimeout

Int

-1
Počet milisekund, po které se má čekat, než databáze oznámí vypršení časového limitu zamčení. Výchozí chování je čekat neomezeně dlouho. Pokud uživatel nezadá hodnotu pro tuto vlastnost, je tato hodnota výchozí pro všechny příkazy v připojení.

Alternativně Statement.setQueryTimeout() lze použít k nastavení časového limitu dotazu pro konkrétní příkazy. Hodnota může být 0, což určuje žádné čekání.
časový limit přihlášení

Int
[0..65535]

30 (verze 11.2 a novější)
15 (verze 10.2 a novější)
Počet sekund, po které by měl ovladač čekat před vypršením časového limitu neúspěšného připojení. Nulová hodnota označuje, že časový limit je standardním systémovým časovým limitem. Tato hodnota je buď 30 sekund (výchozí hodnota ve verzi 11.2 a vyšší) nebo 15 sekund (výchozí hodnota ve verzi 10.2 a níže). Nenulová hodnota je počet sekund, který by měl ovladač čekat před vypršením časového limitu pro neúspěšné připojení.

Pokud zadáte název virtuální sítě ve vlastnosti připojení Serveru, měli byste zadat hodnotu časového limitu tři minuty nebo více, aby bylo dost času na úspěšné přepojení při selhání. Další informace o zotavení po havárii najdete v tématu podpora ovladačů JDBC pro zajištění vysoké dostupnosti, zotavení po havárii.
maxVýsledkovýPufr

Řetězec

nula
(Verze 9.2+) maxResultBuffer lze použít k nastavení maximálního počtu bajtů pro čtení při čtení sady výsledků. Pokud není zadána, přečte se celá sada výsledků. Velikost lze zadat ve dvou stylech:
1. jako velikost bajtů (například 100, 150M, 300K, 400G)
2. jako procento maximální haldy paměti (například 10p15pct20percent).
msiClientId

Řetězec

nula
(Zastaralé) (Verze 7.2+) ID klienta spravované identity (MSI) používaného k získání přístupového k navázání připojení k ActiveDirectoryManagedIdentity nebo režimu ověřování ActiveDirectoryMSI.
multiSubnetFailover

Booleovský

falešný
Vždy zadejte multiSubnetFailover=true pro připojení k posluchači skupiny dostupnosti SQL Serveru nebo instanci SQL Serveru s podporou clusteru pro převzetí služeb při selhání. multiSubnetFailover=true nakonfiguruje ovladač tak, aby poskytoval rychlejší detekci a připojení k (aktuálně) aktivnímu serveru. Možné hodnoty jsou pravda a nepravda. Další informace o zotavení po havárii naleznete v tématu JDBC Driver Support for High Availability, Disaster Recovery.

Pomocí getPropertyInfo, getPropertyInfoa setMultiSubnetFailovera setMultiSubnetFailover.

Poznámka: Počínaje ovladačem Microsoft JDBC 6.0 pro SQL Server už není nutné nastavit multiSubnetFailover na hodnotu "true" pro připojení k naslouchacímu procesu skupiny dostupnosti. Nová vlastnost, transparentNetworkIPResolution, která je ve výchozím nastavení povolena, poskytuje detekci a připojení k (aktuálně) aktivnímu serveru.
velikost paketu

Int
[-1 | 0 | 512..32767]

8000
Velikost síťového paketu používaná ke komunikaci se serverem zadaným v bajtech. Hodnota -1 označuje, že se má použít výchozí velikost paketu serveru. Hodnota 0 označuje použití maximální hodnoty 32767. Pokud je tato vlastnost nastavena na hodnotu mimo přijatelný rozsah, dojde k výjimce.

Důležité: Použití vlastnosti packetSize, pokud je povolené šifrování (encrypt=true), nedoporučujeme. Jinak může ovladač vyvolat chybu připojení. Další informace o této vlastnosti naleznete v metodě setPacketSize třídy SQLServerDataSource.
heslo

Řetězec
[<=128 char]

nula
Heslo databáze, pokud je připojení pomocí uživatele a hesla SQL.
Pro připojení Kerberos s hlavním názvem a heslem je tato vlastnost nastavena na hlavní heslo kerberos.

(Verze 10.2+) Když je authentication=ActiveDirectoryServicePrincipalaktivní, vlastnost hesla určuje heslo, které se použije pro hlavní objekt služby Active Directory.
číslo portu
přístav

Int
[0..65535]

1433
Port, na kterém server naslouchá. Pokud je číslo portu zadané v připojovacím řetězci, neprovedou se žádné požadavky na SQLbrowser. Pokud je zadaný port i instanceName, vytvoří se připojení k zadanému portu. instanceName se ale ověří a v případě, že se neshoduje s portem, vyvolá se chyba.

Důležité: Doporučujeme, aby bylo číslo portu vždy zadané, protože je bezpečnější než použití nástroje SQLbrowser.
připravitMetodu

Řetězec
["prepexec" | "připravit"]

prepexec
(Verze 11.2.0+) Určuje základní metodu přípravy, kterou má ovladač používat s připravenými příkazy.

Nastavte tak, aby připravil pro použití sp_prepare jako připravovací metodu. Nastavení prepareMethod na tuto hodnotu má za následek samostatnou počáteční cestu do databáze, aby se příkaz připravil bez počátečních hodnot pro databázi, které by bylo potřeba vzít v úvahu v plánu provádění. Nastavte na prepexec, aby se použila metoda přípravy sp_prepexec. Tato metoda kombinuje přípravu a první spuštění, čímž snižuje počet potřebných výměn dat. Poskytuje také databázi s počátečními hodnotami parametrů, které může databáze zvážit v plánu provádění.
časový limit dotazu

Int

-1
Počet sekund čekání před vypršením časového limitu dotazu. Výchozí hodnota je -1, což znamená nekonečný časový limit. Nastavení této hodnoty na 0 znamená také čekat neomezeně dlouho.
království

Řetězec

nula
(Verze 9.4+) Sféra pro ověřování protokolem Kerberos. Nastavte tuto hodnotu tak, aby přepsala sféru ověřování Kerberos, kterou ovladač automaticky detekuje ze sféry serveru.
replikace

booleovský
["pravda" | "nepravda"]

falešný
(Verze 9.4+) Toto nastavení serveru říká, jestli se pro replikaci používá připojení. Pokud je tato možnost povolená, triggery s možností NOT FOR REPLICATION se u připojení neaktivují.
pufrování odpovědi

Řetězec
["full" | "adaptivní"]

přizpůsobivý
Pokud je tato vlastnost nastavena na "adaptivní", minimální možná data jsou uložena do vyrovnávací paměti, je-li to nutné. Výchozí režim je adaptivní.

Pokud je tato vlastnost nastavena na "full", celá sada výsledků se načte ze serveru při spuštění příkazu.

Poznámka: Po ovladači JDBC verze 1.2 je výchozí chování ukládání do vyrovnávací paměti adaptivní. Pokud chcete zachovat výchozí chování verze 1.2 ve vaší aplikaci, nastavte vlastnost responseBuffering na "full" buď ve vlastnostech připojení, nebo použijte setResponseBuffering metody SQLServerStatement objektu.
selectMethod

Řetězec
["direct" | "kurzor"]

přímý
Pokud je tato vlastnost nastavena na "kurzor", pak se pro každý dotaz vytvořený v připojení vytvoří kurzory typu TYPE_FORWARD_ONLY a CONCUR_READ_ONLY. Tato vlastnost se obvykle vyžaduje jenom v případě, že aplikace generuje velké sady výsledků, které nemohou být plně obsaženy v paměti klienta. Pokud je tato vlastnost nastavena na "kurzor", v paměti klienta se uchovává pouze omezený počet řádků sady výsledků.

Výchozí chování je, že všechny řádky sady výsledků se uchovávají v paměti klienta. Toto chování poskytuje nejrychlejší výkon, když aplikace zpracovává všechny řádky.
sendStringParameters...
AsUnicode

booleovský
["pravda" | "nepravda"]

pravda
Pokud je vlastnost sendStringParametersAsUnicode nastavena na „true“, parametry řetězce se odesílají na server ve formátu Unicode.

Pokud je vlastnost sendStringParametersAsUnicode nastavena na "false", parametry řetězce se odesílají na server ve formátu, jako je ASCII/MBCS, místo Unicode.

Výchozí hodnota pro sendStringParametersAsUnicode vlastnost je true.

Poznámka: vlastnost sendStringParametersAsUnicode je zaškrtnutá pouze pro odeslání hodnoty parametru s CHAR, VARCHARnebo LONGVARCHAR typy JDBC. Nové metody pro národní znaky JDBC 4.0 zahrnují metody jako setNString, setNCharacterStream a setNClob třídy SQLServerPreparedStatement a SQLServerCallableStatement. Tyto metody vždy odesílají své hodnoty parametrů na server v Unicode bez ohledu na nastavení této vlastnosti.

Pro zajištění optimálního výkonu s datovými typy CHAR, VARCHARa LONGVARCHAR JDBC by aplikace měla nastavit vlastnost sendStringParametersAsUnicode na "false" a použít metody setString, setCharacterStream a setClob pro ne-univerzální znaky tříd SQLServerPreparedStatement a SQLServerCallableStatement.

Když aplikace nastaví sendStringParametersAsUnicode vlastnost na false a používá metodu nenárodních znaků pro přístup k datovým typům Unicode na straně serveru (například nchar, nvarchar a ntext), může dojít ke ztrátě některých dat, pokud kolace databáze nepodporuje znaky v parametrech String předávaných jinou než národní metodou znaků.

Aplikace by měla používat národní znakové metody setNString, setNCharacterStream a setNClob tříd SQLServerPreparedStatement a SQLServerCallableStatement pro datové typy JDBC NCHAR, NVARCHARa LONGNVARCHAR.

Změna této hodnoty může ovlivnit řazení výsledků z databáze. Rozdíly řazení jsou způsobeny různými pravidly řazení pro Unicode a jinými znaky než Unicode.
sendTemporalDataTypes...
AsStringForBulkCopy

booleovský
["pravda" | "nepravda"]

pravda
(Verze 8.4+) Tato vlastnost připojení, pokud je nastavena na false, odesílá DATUM, DATETIME, DATIMETIME2, DATETIMEOFFSET, SMALLDATETIMEa TIME datové typy místo jejich odeslání jako String.

S touto vlastností připojení nastavenou na false přijímá ovladač výchozí řetězcový literálový formát každého dočasného datového typu, například:

DATUM: YYYY-MM-DD
DATUM A ČAS: YYYY-MM-DD hh:mm:ss[.nnn]
DATETIME2: YYYY-MM-DD hh:mm:ss[.nnnnnnn]
DATETIMEOFFSET: YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+/-}hh:mm]
SMALLDATETIME: YYYY-MM-DD hh:mm:ss
ČAS: hh:mm:ss[.nnnnnnn]
sendTimeAsDatetime

booleovský
["pravda" | "nepravda"]

pravda
Tato vlastnost byla přidána v ovladači SQL Server JDBC 3.0.

Pokud chcete odeslat hodnoty java.sql.Time na server jako hodnotu SQL Server hodnoty datetime, nastavte hodnotu true.
Nastavte na "false", aby se hodnoty java.sql.Time odesílaly na server jako hodnoty času SQL Server .

Výchozí hodnota této vlastnosti je aktuálně true a může se změnit v budoucí verzi.

Další informace o tom, jak ovladač Microsoft JDBC pro SQL Server konfiguruje hodnoty java.sql.Time před jejich odesláním na server, naleznete v tématu Konfigurace způsobu odesílání hodnot java.sql.Time serveru.
serverový certifikát
server

Řetězec

nula
(Verze 11.2.0+) Cesta k souboru certifikátu serveru. Používá se k validaci při použití šifrování nastaveného na přísné. Ovladač podporuje soubory certifikátů pomocí formátu souboru PEM.
serverNázev,
server

Řetězec

nula
Počítač s SQL Serverem nebo databází Azure SQL.

Můžete také zadat název virtuální sítě skupiny dostupnosti. Další informace o zotavení po havárii najdete v tématu podpora ovladačů JDBC pro zajištění vysoké dostupnosti, zotavení po havárii.
serverNameAsACE

booleovský
["pravda" | "nepravda"]

falešný
(Verze 6.0+) Nastavte na hodnotu true, aby ovladač pro připojení přeložil název serveru Unicode na kódování kompatibilní s kódováním ASCII (Punycode). Pokud je toto nastavení nepravdivé, ovladač použije název serveru tak, jak je uvedeno pro připojení.

Další informace o mezinárodních funkcích naleznete v tématu Mezinárodní funkce ovladače JDBC.
serverPřipravenéProhlášeníNaServeru
DiscardThreshold

Celé číslo

10
(Verze 6.2+) Tuto vlastnost lze použít k řízení, kolik nevyřízených připravených příkazů zahodí akce (sp_unprepare) může být pro každé připojení nevyrovnané, než se spustí volání pro vyčištění nevyřízených popisovačů na serveru.

Pokud je tato vlastnost nastavena na <= 1, akce unprepare se spustí okamžitě při uzavření připraveného příkazu. Pokud je vlastnost nastavena na > 1, jsou tato volání sloučena dohromady, aby se zabránilo zatížení voláním sp_unprepare příliš často.
serverSpn

Řetězec

nula
(Verze 4.2+) Tuto volitelnou vlastnost lze použít k určení hlavního názvu služby (SPN) pro připojení Java Kerberos. Používá se s authenticationScheme.

Pokud chcete zadat hlavní název služby (SPN), může to být ve formě: "MSSQLSvc/fqdn:port@REALM", kde fqdn je plně kvalifikovaný název domény, port je číslo portu a REALM je sféra Kerberosu SQL Serveru napsaná velkými písmeny.

Poznámka: @REALM je nepovinný, pokud je výchozí sféra klienta (jak je uvedeno v konfiguraci protokolu Kerberos) stejná jako sféra Protokolu Kerberos pro SQL Server.

Další informace o použití serverSpn s Java Kerberos najdete v tématu Použití integrovaného ověřování Kerberos pro připojení k SQL Serveru.
socketFactoryClass

Řetězec

nula
(Verze 8.4+) Určuje název třídy pro vlastní soketovou továrnu, která se použije místo výchozí továrny soketů.
socketTimeout

Int

0
Počet milisekund, které se mají počkat před vypršením časového limitu v soketu pro čtení nebo přijetí. Výchozí hodnota je 0, což znamená nekonečný časový limit.
sdružováníPříkazů...
Velikost paměti cache

Int

0
(Verze 6.4+) Tuto vlastnost lze použít k povolení zpracování připravených příkazů ukládání do mezipaměti v ovladači.

Tato vlastnost definuje velikost mezipaměti pro sdružování příkazů.

Tuto vlastnost lze použít pouze s vlastností připojení disableStatementPooling, která by měla být nastavena na "false". Nastavení disableStatementPooling na "true" nebo statementPoolingCacheSize na 0 zakáže ukládání popisovačů připravených příkazů do mezipaměti.
SSL protokol

Řetězec

TLS
(Verze 6.4+) Tuto vlastnost lze použít k určení protokolu TLS, který se má zvážit během zabezpečeného připojení.
Možné hodnoty jsou: tls, TLSv1, TLSv1.1a TLSv1.2.

Další informace o protokolu Secure Sockets Layer naleznete v tématu SSLProtocol.
transparentNetwork...
IPResolution

booleovský
["pravda" | "nepravda"]

pravda
(Verze 6.0+) Tato vlastnost poskytuje rychlejší detekci a připojení k (aktuálně) aktivnímu serveru. Možné hodnoty jsou "true" a "false", kde "true" je výchozí hodnota.

Před ovladačem Microsoft JDBC 6.0 pro SQL Server musela aplikace nastavit připojovací řetězec tak, aby zahrnoval "multiSubnetFailover=true", aby indikovala, že se připojila ke skupině dostupnosti AlwaysOn. Bez nastavení klíčového slova připojení multiSubnetFailover na hodnotu "true" může aplikace při připojování ke skupině dostupnosti Always On zaznamenat časový limit. Ve verzi 6.0 a novější není aplikace nutná k nastavení multiSubnetFailover na true.

Poznámka: Když transparentNetworkIPResolution=true, první pokus o připojení používá jako časový limit 500 ms. Jakékoli pozdější pokusy používají stejnou logiku časového limitu, jakou používá vlastnost multiSubnetFailover.
trustManagerClass

Řetězec

nula
(Verze 6.4+) Plně kvalifikovaný název třídy vlastní implementace javax.net.ssl.TrustManager.
trustManager...
KonstruktorArg

Řetězec

nula
(Verze 6.4+) Volitelný argument, který se má předat konstruktoru TrustManager. Pokud je zadána trustManagerClass vlastnost a vyžaduje se šifrované připojení, použije se vlastní TrustManager místo výchozího systémového objektu TrustManager založeného na úložišti klíčů JVM.
trustServerCertificate

booleovský
["pravda" | "nepravda"]

falešný
Nastavte hodnotu true a určete, že ovladač neověřuje certifikát TLS/SSL serveru.

Pokud je hodnota true, serverový certifikát TLS/SSL je automaticky důvěryhodný, když je komunikační vrstva šifrovaná pomocí protokolu TLS.

Pokud je "false", ovladač ověří certifikát TLS/SSL serveru. Pokud ověření certifikátu serveru selže, ovladač vyvolá chybu a ukončí připojení. Výchozí hodnota je false. Ujistěte se, že hodnota předaná názvu_serveru přesně odpovídá Common Name (CN) nebo názvu DNS v Alternativním názvu subjektu v certifikátu serveru, aby bylo připojení TLS/SSL úspěšné. Další informace o podpoře šifrování najdete v tématu Principy podpory šifrování.

Poznámka: Tato vlastnost se používá v kombinaci s šifrováním/a vlastnostmi ověřování. Tato vlastnost má vliv pouze na ověření certifikátu TLS/SSL serveru, pokud připojení používá šifrování TLS.
trustStore

Řetězec

nula
Cesta (včetně názvu souboru) k souboru trustStore certifikátu. Soubor trustStore obsahuje seznam certifikátů, kterým klient důvěřuje.

Pokud tato vlastnost není zadána nebo nastavena na hodnotu null, ovladač spoléhá na pravidla vyhledávání objektu pro správu důvěryhodnosti k určení úložiště certifikátů, které se má použít.

Výchozí SunX509 TrustManagerFactory se pokusí najít důvěryhodný materiál v následujícím pořadí hledání:

Soubor určený vlastností systému JVM javax.net.ssl.trustStore.

<java-home>/lib/security/jssecacerts soubor.

<java-home>/lib/security/cacerts soubor.



Další informace o rozhraní SUNX509 TrustManager naleznete v dokumentaci SUNX509 TrustManager Interface na webu Sun Microsystems.

Poznámka: Tato vlastnost má vliv pouze na vyhledávání certifikátu trustStore, pokud připojení používá šifrování TLS a vlastnost trustServerCertificate je nastavena na false.
trustStorePassword

Řetězec

nula
Heslo použité ke kontrole integrity dat trustStore.

Pokud je vlastnost trustStore nastavena a vlastnost trustStorePassword není, integrita trustStore není ověřena.

Pokud nejsou zadány vlastnosti trustStore i trustStorePassword, ovladač použije systémové vlastnosti JVM, javax.net.ssl.trustStore a javax.net.ssl.trustStorePassword. Pokud není zadaná systémová vlastnost javax.net.ssl.trustStorePassword, nekontroluje se integrita trustStore.

Pokud uživatel nenastaví vlastnost trustStore, ale nastaví vlastnost trustStorePassword, ovladač JDBC použije soubor, který "javax.net.ssl.trustStore" určuje jako úložiště důvěryhodnosti. Kromě toho ovladač kontroluje integritu úložiště certifikátů důvěryhodnosti pomocí zadaného hesla pro úložiště důvěryhodnosti. Toto nastavení je potřeba v případě, že klientská aplikace nechce ukládat heslo do vlastnosti systému JVM.

Poznámka: vlastnost trustStorePassword má vliv pouze na vyhledávání certifikátu trustStore, pokud připojení používá připojení TLS a trustServerCertificate vlastnost je nastavena na false.
trustStoreType

Řetězec

JKS
Nastavte tuto vlastnost pro určení typu úložiště důvěryhodnosti, který se má použít pro režim FIPS.

Možné hodnoty jsou buď PKCS12,, nebo typ definovaný poskytovatelem FIPS.
useBulkCopyFor...
BatchInsert

booleovský
["pravda" | "nepravda"]

falešný
(Verze 9.2+) Tuto vlastnost připojení lze povolit pro transparentní použití "Bulk Copy API" při provádění dávkových vkládacích operací pomocí java.sql.PreparedStatement. Tato funkce může při povolení dosáhnout vyššího výkonu.

Tato funkce je ve výchozím nastavení zakázaná. Chcete-li tuto funkci povolit, nastavte tuto vlastnost na hodnotu true.

důležitá poznámka: Tato funkce podporuje pouze plně parametrizované dotazy INSERT. Pokud se dotazy INSERT zkombinují s jinými dotazy SQL nebo obsahují data v hodnotách, provádění se vrátí do základní dávkové operace vložení.

Další informace o tom, jak tuto vlastnost používat, najdete v tématu Použití rozhraní API hromadného kopírování pro operaci dávkového vložení
useDefaultGSSCredential

booleovský
["pravda" | "nepravda"]

falešný
(Verze 12.6+) Příznak označující, jestli má ovladač vytvořit GSSCredential jménem uživatele pro použití nativního GSS-API pro ověřování protokolem Kerberos.
useDefaultJaasConfig

booleovský
["pravda" | "nepravda"]

falešný
(Verze 12.6+) Pokud aplikace existuje společně s knihovnami, které konfigurují JAAS na úrovni systému, nastavení této vlastnosti na hodnotu true umožňuje ovladači použít stejnou konfiguraci k ověřování kerberos.
useFmtOnly

booleovský
["pravda" | "nepravda"]

falešný
(Verze 7.4+) Poskytuje alternativní způsob dotazování metadat parametrů ze serveru. Nastavte tuto vlastnost na hodnotu true a určete, že ovladač má při dotazování metadat parametrů používat logiku SET FMTONLY. Tato funkce je ve výchozím nastavení vypnutá a nedoporučuje se tuto vlastnost používat, protože SET FMTONLY je označena k vyřazení. použitíFmtOnly je k dispozici pouze jako alternativní řešení známých problémů a omezení v sp_describe_undeclared_parameters.

Tato funkce momentálně podporuje pouze jeden SELECT/INSERT/UPDATE/DELETE dotaz. Pokus o použití této funkce s nepodporovanými nebo více dotazy způsobí, že se ovladač pokusí dotaz analyzovat, ale s největší pravděpodobností dojde k výjimce.

Další informace o této vlastnosti naleznete v tématu Načítání ParameterMetaData prostřednictvím useFmtOnly.
uživatelské jméno
uživatel

Řetězec
[<=128 char]

nula
Uživatel databáze, pokud se připojí k uživateli a heslu SQL.

Pro připojení Kerberos s hlavním jménem a heslem je tato vlastnost nastavena na Kerberos hlavní jméno.

(Verze 10.2+) Když authentication=ActiveDirectoryServicePrincipal, vlastnost userName určuje platné ID zabezpečeného klienta Azure Active Directory.
id pracovní stanice

Řetězec
[<=128 char]

<empty string>
ID pracovní stanice. Používá se k identifikaci konkrétní pracovní stanice v různých nástrojích profilace a protokolování.

Pokud není zadán žádný, použije se <empty string>.
xopenStates

booleovský
["pravda" | "nepravda"]

falešný
Pokud chcete určit, že ovladač vrátí stavové kódy kompatibilní s XOPEN ve výjimkách, nastavte na hodnotu true.

Výchozí hodnota je vrátit stavové kódy SQL 99.

Poznámka

Ovladač Microsoft JDBC pro SQL Server přebírá výchozí hodnoty serveru pro vlastnosti připojení s výjimkou ANSI_DEFAULTS a IMPLICIT_TRANSACTIONS. Ovladač Microsoft JDBC pro SQL Server automaticky nastaví ANSI_DEFAULTS na ZAPNUTO a IMPLICIT_TRANSACTIONS vypnuto.

Důležitý

Pokud je ověřování nastaveno na ActiveDirectoryPassword, musí být následující knihovna zahrnuta do classpath: microsoft-authentication-library-for-java. Najdete ho v úložišti Maven . Nejjednodušší způsob, jak stáhnout knihovnu a její závislosti, je použití Mavenu:

  1. Instalace Mavenu do systému
  2. Přejděte na stránku GitHubu ovladače .
  3. Stažení souboru pom.xml
  4. Spuštěním následujícího příkazu Mavenu stáhněte knihovnu a její závislosti: mvn dependency:copy-dependencies

Viz také

připojení k SQL Serveru pomocí ovladače JDBC
FIPS režimu