Dela via


Ange anslutningsegenskaper

Ladda ned JDBC-drivrutin

Egenskaperna för anslutningssträngen kan anges på olika sätt:

  • Som namn=värde-egenskaper i anslutningens URL när du ansluter med hjälp av DriverManager-klassen. För syntax för anslutningssträngar, se Skapa anslutnings-URL:en.

  • Som namn=värdeegenskaper i parametern Egenskaper för metoden Connect i klassen DriverManager.

  • Som värden i den lämpliga "setter"-metoden för drivrutinensdatakälla . Till exempel:

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

Anmärkningar

Egenskapsnamn är skiftlägesokänsliga, och dubbletter av egenskapsnamn hanteras i följande ordning:

  1. API-argument (till exempel användare och lösenord)
  2. Egenskapssamling
  3. Sista instansen i anslutningssträngen

Okända värden tillåts för egenskapsnamnen och JDBC-drivrutinen validerar inte för skiftlägeskänslighet.

Synonymer tillåts och matchas i ordning, på samma sätt som dubletter av egenskapsnamn.

Egenskaper

I följande tabell visas alla tillgängliga egenskaper för anslutningssträngar för JDBC-drivrutinen.

Egenskap
Typ
Förval
Beskrivning
accessToken

Sträng

noll
(Version 6.0+) Använd den här egenskapen för att ansluta till en databas med hjälp av en åtkomsttoken. accessToken kan inte anges med hjälp av anslutnings-URL:en.
accessTokenCallbackClass

Sträng

noll
(Version 12.4+) Namnet på den återanrops-implementeringsklass som ska användas med återanrop av åtkomsttoken.
applicationIntent

Sträng

Läs och skriv
(Version 6.0+) Deklarerar programarbetsbelastningstypen för att ansluta till en server.

Möjliga värden är ReadOnly och ReadWrite.

Mer information om katastrofåterställning finns i JDBC-drivrutinsstöd för hög tillgänglighet och katastrofåterställning.
programnamn

Sträng
[<=128 tecken]

noll
Programnamnet eller "Microsoft JDBC-drivrutinen för SQL Server" om inget namn anges.

Används för att identifiera det specifika programmet i olika SQL Server-profilerings- och loggningsverktyg.
autentisering

Sträng

Ej specificerat
(Version 6.0+) Den här valfria egenskapen anger vilken autentiseringsmetod som ska användas för anslutning. Möjliga värden är ActiveDirectoryIntegrated, ActiveDirectoryPassword, ActiveDirectoryManagedIdentity (version 12.2+), ActiveDirectoryMSI (version 7.22+), ActiveDirectoryInteractive (version 9.2+), ActiveDirectoryServicePrincipal (version 9.2+), SqlPasswordoch standardvärdet NotSpecifierad.

Använd ActiveDirectoryIntegrated (version 6.0+) för att ansluta till SQL med integrerad Windows-autentisering.

Använd ActiveDirectoryPassword (version 6.0+) för att ansluta till SQL med ett Microsoft Entra-huvudnamn och lösenord.

Använd ActiveDirectoryManagedIdentity (version 12.2+) eller ActiveDirectoryMSI (version 7.2+) för att ansluta till SQL inifrån en Azure-resurs. Till exempel en virtuell Azure-dator, App Service eller funktionsapp med hanterad identitetsautentisering.

De två typerna av hanterade identiteter som stöds av drivrutinen när du använder ActiveDirectoryManagedIdentity eller ActiveDirectoryMSI autentiseringsläge är:
1. System-Assigned Managed Identity: Används för att hämta accessToken som standard.
2. User-Assigned Managed Identity: Används för att hämta accessToken om klient-ID för en hanterad identitet anges med msiClientId anslutningsegenskap.

Använd ActiveDirectoryInteractive för att ansluta till en databas med hjälp av ett interaktivt autentiseringsflöde.

Använd ActiveDirectoryServicePrincipal (version 9.2+) för att ansluta till en databas med hjälp av klient-ID:t och hemligheten för en tjänsthuvudnamnsidentitet. Ange klient-ID i egenskapen userName och hemligheten i lösenordsegenskapen (10.2+).

Använd SqlPassword för att ansluta till SQL med userName/användarnamnsegenskap och lösenordsegenskap.

Använd NotSpecified om ingen av dessa autentiseringsmetoder behövs.

Viktigt: Om autentiseringen är inställd på ActiveDirectoryIntegrated måste följande två bibliotek installeras: mssql-jdbc_auth-<version>–<arch>.dll (finns i JDBC-drivrutinspaketet) och Microsoft Authentication Library för SQL Server (ADAL.DLL). Microsoft Authentication Library kan installeras från Microsoft ODBC-drivrutin för SQL Server eller Microsoft OLE DB-drivrutin för SQL Server. JDBC-drivrutinen stöder endast version 1.0.2028.318 och högre för ADAL.DLL.

Obs! När autentiseringsegenskapen är inställd på något annat värde än NotSpecifiedanvänder drivrutinen som standard TLS (Transport Layer Security), tidigare kallat Secure Sockets Layer (SSL), kryptering.

Information om hur du konfigurerar Microsoft Entra-autentisering finns i Använda Microsoft Entra-autentisering.
autentiseringsschema

Sträng

NativeAuthentication
Anger vilken typ av integrerad säkerhet du vill att programmet ska använda. Möjliga värden är JavaKerberos, NTLM (version 7.4+) och standardvärdet NativeAuthentication.

NativeAuthentication gör att drivrutinen mssql-jdbc_auth-<version>-<arch>.dll läses in i Windows (till exempel mssql-jdbc_auth-8.2.2.x64.dll), vilket används för att erhålla integrerad autentiseringsinformation.

(Det inbyggda autentiseringsbiblioteket som läses in heter sqljdbc_auth.dll när drivrutinsversionerna 6.0 till och med 7.4 används.

När du använder authenticationScheme=JavaKerberosmåste du ange det fullständigt kvalificerade domännamnet (FQDN) i egenskapen serverName eller serverSpn. Annars uppstår ett fel (servern hittades inte i Kerberos-databasen).

Mer information om hur du använder authenticationScheme=JavaKerberosfinns i Använda Kerberos-integrerad autentisering för att ansluta till SQL Server.

När du använder authenticationScheme=NTLMmåste du ange Windows-domänen med egenskapen domän eller egenskapen domainName, användarnamnet i egenskapen användare eller userName, och lösenordet i egenskapen lösenord. Annars uppstår ett fel (anslutningsegenskaper måste anges).
cacheBulkCopyMetadata

boolesk
["sant" | "falskt"]

falsk
(Version 12.8+) När du använder useBulkCopyForBatchInsert=trueanvänds den här egenskapen för att tala om för drivrutinen om den ska cachelagra metadata för målkolumner på anslutningsnivå. Om värdet är inställt på truebör du se till att målet inte ändras mellan massinfogningar eftersom drivrutinen inte har något sätt att hantera den här ändringen.
calcBigDecimalPrecision

boolesk
["sant" | "falskt"]

falsk
(Version 12.6+) Flagga för att ange om drivrutinen ska beräkna precisionen för BigDecimala indata, i stället för att använda det högsta tillåtna värde för precision (38).
cancelQueryTimeout

Int

-1
(Version 6.4+) Den här egenskapen kan användas för att avbryta en queryTimeout- som angetts för anslutningen. Frågekörningen låser sig och utlöser inget undantag om TCP-anslutningen till servern tas bort tyst. Den här egenskapen gäller endast om "queryTimeout" också har angetts för anslutningen.

Drivrutinen väntar den totala tiden cancelQueryTimeout + queryTimeout sekunder för att stänga kanalen och släppa anslutningen.

Standardvärdet för den här egenskapen är -1 och beteendet är att vänta på obestämd tid.
klientcertifikat

Sträng

noll
(Version 8.4+) Anger platsen för certifikatet som ska användas för klientcertifikatautentisering. JDBC-drivrutinen stödjer filändelserna PFX, PEM, DER och CER.

Mer information finns i Klientcertifikatautentisering för Loopback-scenarier.
klientnyckel

Sträng

noll
(Version 8.4+) Anger platsen för den privata nyckeln för PEM-, DER- och CER-certifikat som anges av attributet clientCertificate.

Mer information finns i Klientcertifikatautentisering för Loopback-scenarier.
klientnyckellösenord

Sträng

noll
(Version 8.4+) Anger den valfria lösenordssträngen för åtkomst till clientKey-filens privata nyckel.

Mer information finns i Klientcertifikatautentisering för Loopback-scenarier.
columnEncryptionInställning

Sträng
["Aktiverad" | "Inaktiverad"]

Handikappad
(Version 6.0+) Ange till "Aktiverad" för att använda funktionen Always Encrypted (AE). När AE är aktiverat krypterar och dekrypterar JDBC-drivrutinen transparent känsliga data som lagras i krypterade databaskolumner på servern.

Mer information om Always Encrypted finns i Using Always Encrypted with the JDBC driver.

Obs! Always Encrypted är tillgängligt med SQL Server 2016 eller senare och Azure SQL Database.
återanslutningsförsökAntal

Int
[0..255]

1
(Version 9.4+) Antalet återanslutningsförsök om det uppstår ett anslutningsfel.
connectRetryInterval

Int
[1..60]

10
(Version 9.4+) Antalet sekunder mellan varje försök till nytt anslutningsförsök.
databaseName,
databas

Sträng
[<=128 tecken]

noll
Namnet på databasen som ska anslutas till.

Om inget anges upprättas en anslutning till standarddatabasen.
datumtidParametertyp

Sträng
["datetime" | "datetime2" | "datetimeoffset"]

datetime2
(Version 12.2+) DEN SQL-datatyp som ska användas för Java-datum/tidsstämpelparametrar.

När man ansluter till SQL Server 2016 eller senare och interagerar med äldre "datetime"-värden kan klienterna ha nytta av att ställa in egenskapen på "datetime". Den här inställningen minimerar konverteringsproblem på serversidan mellan "datetime" och "datetime2"-värden. För mer information, se Ändring av konverteringsbeteendet från datetime till datetime2, som börjar med SQL Server 2016
delayLoadingLobs

boolesk
["sant" | "falskt"]

sann
Flagga för att ange om du vill strömma eller inte strömma alla LOB-objekt som hämtas från ResultSet. Om du anger den här egenskapen till "false" läses hela LOB-objektet in i minnet utan direktuppspelning.
domännamn
domän

Sträng
noll
(Version 7.4+) Windows-domänen att autentisera till när du använder NTLM-autentisering.
inaktiveraSessionPoolning

boolesk
["sant" | "falskt"]

sann
Flagga indikerar om påståendepoolning ska användas.
aktiveraFörberedPåFörsta...
FörbereddUtsagningsAnrop

boolesk
["sant" | "falskt"]

falsk
Ange till "true" för att aktivera skapande av förberedda instruktioner genom att anropa sp_prepexec med den första körningen av en förberedd instruktion.

Ställ in på "false" för att ändra den första körningen av ett förberett påstående så att det anropar sp_executesql och inte förbereder ett påstående. Om en andra körning sker anropas sp_prepexec för att konfigurera en förberedd instruktionsreferens.
enclaveAttestationUrl

Sträng

noll
(Version 8.2+) Den här valfria egenskapen anger den attesteringstjänstslutpunkts-URL som ska användas för Always Encrypted med säkra enklaver.

För mer information om Always Encrypted med säkra enklaver, se Always Encrypted med säkra enklaver.
enclaveAttestationProtocol

Sträng

noll
(Version 8.2+) Den här valfria egenskapen anger attesteringsprotokollet som ska användas för Always Encrypted med säkra enklaver. För närvarande är de enda värden som stöds för det här fältet HGS, AASoch NONE (NONE stöds endast i version 11.2+).

För mer information om Always Encrypted med säkra enklaver, se Always Encrypted med säkra enklaver.
kryptera

Sträng

noll
Ange "true" för att ange att SQL Server använder TLS-kryptering för alla data som skickas mellan klienten och servern om servern har ett certifikat installerat. Standardvärdet är "true" i version 10.2 och senare och "false" i 9.4 och tidigare.

I version 6.0 och senare finns det en ny anslutningsinställning "autentisering" som använder TLS-kryptering som standard.

Mer information om den här egenskapen finns i egenskapen "autentisering".

I version 11.2.0 och senare ändrades -encrypt från boolean till sträng, vilket ger stöd för TDS 8.0 när egenskapen är inställd på strikt.
failoverPartner

Sträng

noll
Namnet på den redundansserver som används i en databasspeglingskonfiguration. Den här egenskapen används för ett inledande anslutningsfel till huvudservern. När du har skapat den första anslutningen ignoreras den här egenskapen. Måste användas med egenskapen databaseName.

Obs! Drivrutinen stöder inte portnumret för serverinstansen för redundanspartnerinstansen som en del av egenskapen failoverPartner i anslutningssträngen. Drivrutinen har dock stöd för att ange egenskaperna serverName, instanceName och portNumber för huvudserverinstansen och egenskapen failoverPartner för redundanspartnerinstansen i samma anslutningssträng.

Om du anger ett virtuellt nätverksnamn i egenskapen Server anslutning kan du inte använda databasspegling. För mer information om katastrofåterställning, se JDBC-drivrutinsstöd för hög tillgänglighet och katastrofåterställning
fips

boolesk
["sant" | "falskt"]

"falskt"
För FIPS-aktiverad virtuell Java-dator (JVM) bör den här egenskapen vara sant.
fipsProvider

Sträng

noll
FIPS-leverantören som har konfigurerats i JVM. Till exempel BCFIPS eller SunPKCS11-NSS. Har tagits bort i version 6.4.0. Mer information finns i GitHub-problem 460.
gsscredential

org.ietf.jgss.GSSCredential

noll
(Version 6.2+) Användarautentiseringsuppgifter som ska användas för Kerberos-begränsad delegering kan skickas i den här egenskapen.

Den här inställningen ska användas med integrerad säkerhet som sant och JavaKerberos som autentiseringsschema.
hostNameInCertificate

Sträng

noll
Värdnamnet som ska användas för att verifiera SQL Server TLS/SSL-certifikatet.

Alternativet hostNameInCertificate kan användas för att ange värdnamnet i situationer där namnet eller namnen som används i certifikatet inte matchar namnet som skickas till egenskapen serverName. Om det finns en matchning bör dock hostNameInCertificate- alternativet inte användas.

I situationer där egenskapen hostNameInCertificate är ospecificerad eller inställd på null använder Microsoft JDBC-drivrutinen för SQL Server egenskapsvärdet serverName på anslutnings-URL:en som värdnamn för att verifiera SQL Server TLS/SSL-certifikatet.

Obs! Som föregående stycke beskriver rekommenderar vi inte att du anger alternativet hostNameInCertificate om du inte kan bekräfta namnet eller namnen i certifikatet inte matchar de namn som skickades i alternativet serverName.

Obs! Den här egenskapen används i kombination med egenskaperna kryptera/autentisering och egenskapen trustServerCertificate. Den här egenskapen påverkar certifikatverifieringen, om anslutningen använder TLS-kryptering och trustServerCertificate är inställd på "false". Kontrollera att värdet som skickas till hostNameInCertificate matchar det gemensamma namnet (CN) eller DNS-namnet i SAN (Subject Alternate Name) i servercertifikatet för att en TLS-anslutning ska lyckas. Mer information om krypteringsstöd finns i Förstå krypteringsstöd.
instanceName

Sträng
[<=128 tecken]

noll
Namnet på databasinstansen som ska anslutas till. När den inte har angetts upprättas en anslutning till standardinstansen. Information om var både instanceName och porten anges finns i anteckningarna för port.

Om du anger ett virtuellt nätverksnamn i anslutningsegenskapen Server kan du inte använda egenskapen instanceName-anslutning. Mer information om katastrofåterställning finns i JDBC-drivrutinsstöd för hög tillgänglighet, katastrofåterställning.
integrerad säkerhet

boolesk
["sant" | "falskt"]

falsk
Ange till "true" för att ange att Windows-autentiseringsuppgifter används av SQL Server på Windows-operativsystem. Om "sant" söker JDBC-drivrutinen i cacheminnet för autentiseringsuppgifter på den lokala datorn efter autentiseringsuppgifter som angavs när en användare loggade in på datorn eller nätverket.

Ange till "true" (med authenticationscheme=JavaKerberos), för att ange att Kerberos-autentiseringsuppgifter används av SQL Server. Mer information om Kerberos-autentisering finns i Använda Kerberos-integrerad autentisering för att ansluta till SQL Server.

Ange till "true" (med authenticationscheme=NTLM), för att ange att NTLM-autentiseringsuppgifter används av SQL Server.

Om det är "falskt" måste användarnamnet och lösenordet anges.
IP-adresspreferens

Sträng
[<=128 tecken]

IPv4First
IP-inställningen som används av klientprogrammet.

Med IPV4Firstgår drivrutinen först igenom IPv4-adresser. Om inga IPv4-adresser kan anslutas till fortsätter drivrutinen och försöker IPv6-adresser, om det finns några.

Med IPV6Firstgår drivrutinen först igenom IPv6-adresser. Om inga IPv6-adresser kan anslutas till fortsätter drivrutinen och försöker med IPv4-adresser, om det finns några.

Med UsePlatformDefaultgår drivrutinen igenom alla IP-adresser i deras ursprungliga ordning från DNS-upplösning.
jaasConfigurationName

Sträng

SQLJDBCDriver
(Version 6.2+) Varje anslutning till SQL Server kan använda sitt eget JAAS-inloggningskonfigurationsnamn för att upprätta en Kerberos-anslutning. Namnet på konfigurationsposten kan skickas via den här egenskapen. Den här egenskapen är avsedd att användas när att skapa en Kerberos-konfigurationsfil. Som standard letar drivrutinen efter namnet SQLJDBCDriver.

Om en extern konfiguration inte hittas, ställer drivrutinen in useDefaultCcache = true för IBM JVM:er och useTicketCache = true för andra JVM:er.
Keystore-autentisering

Sträng

noll
(Version 6.0+) Den här egenskapen identifierar vilket nyckellager som ska användas med Always Encrypted och avgör en autentiseringsmekanism som används för att autentisera till nyckelarkivet. Drivrutinen stöder sömlös konfiguration av Java Key Store när du anger "keyStoreAuthentication=JavaKeyStorePassword". Om du vill använda den här egenskapen måste du också ange egenskaperna keyStoreLocation och keyStoreSecret för Java Key Store.

Mer information om Always Encrypted finns i Using Always Encrypted with the JDBC driver.

Från och med Microsoft JDBC Driver 8.4 kan du ange "keyStoreAuthentication=KeyVaultManagedIdentity" eller "keyStoreAuthentication=KeyVaultClientSecret" för att autentisera till Azure Key Vault med hanterade identiteter.

Mer information om Always Encrypted finns i Using Always Encrypted with the JDBC driver.
keyStoreLocation

Sträng

noll
(Version 6.0+) När keyStoreAuthentication=JavaKeyStorePasswordidentifierar egenskapen keyStoreLocation sökvägen till Java-nyckelarkivfilen som lagrar kolumnhuvudnyckeln som ska användas med Always Encrypted-data. Sökvägen måste innehålla nyckelarkivets filnamn.

Mer information om Always Encrypted finns i Using Always Encrypted with the JDBC driver.
keyStorePrincipalId

Sträng

noll
(Version 8.4+) När keyStoreAuthentication=KeyVaultManagedIdentityanger egenskapen keyStorePrincipalId ett giltigt Klient-ID för Microsoft Entra-program.

Mer information om Always Encrypted finns i Using Always Encrypted with the JDBC driver.
keyStoreSecret

Sträng

noll
(Version 6.0+) När keyStoreAuthentication=JavaKeyStorePasswordidentifierar egenskapen keyStoreSecret lösenordet som ska användas för nyckelarkivet och nyckeln. När man använder Java Key Store måste nyckelarkivet och nyckellösenordet vara desamma.

Mer information om Always Encrypted finns i Using Always Encrypted with the JDBC driver.
SenasteUppdateringsAntal

boolesk
["sant" | "falskt"]

sann
Ett "true"-värde returnerar bara det senaste uppdateringsantalet från en SQL-instruktion som skickas till servern. Dessutom används den endast för enskilda SELECT-, INSERT- eller DELETE-instruktioner för att ignorera andra uppdateringsantal som kan orsakas av serverutlösare. Om den här egenskapen anges till "false" returneras alla uppdateringsantal, inklusive det här uppdateringsantalet som returneras av serverutlösare.

Obs! Den här egenskapen gäller endast när den används med metoderna executeUpdate. Alla andra metoder för att köra returnerar alla resultat och uppdateringsantal. Den här egenskapen påverkar endast uppdateringsantal som returneras av serverutlösare. Det påverkar inte resultatuppsättningar eller fel som uppstår som en del av triggerekörningen.
lockTimeout

Int

-1
Antalet millisekunder som ska vänta innan databasen rapporterar en tidsgräns för lås. Standardbeteendet är att vänta på obestämd tid. Om användaren inte har angett något värde för den här egenskapen är det här värdet standardvärdet för alla instruktioner i anslutningen.

Alternativt kan Statement.setQueryTimeout() användas för att ange tidsgränsen för specifika påståenden. Värdet kan vara 0, vilket anger ingen väntan.
inloggningsutgångstid

Int
[0..65535]

30 (version 11.2 och senare)
15 (version 10.2 och senare)
Antalet sekunder som föraren ska vänta innan en misslyckad anslutning avbryts. Ett nollvärde anger att tidsgränsen är standardtidsgränsen för systemet. Det här värdet är antingen 30 sekunder (standardvärdet i version 11.2 och senare) eller 15 sekunder (standardvärdet i version 10.2 och senare). Ett icke-nollvärde är antalet sekunder som drivrutinen ska vänta innan en misslyckad anslutning går ut på tid.

Om du anger ett virtuellt nätverksnamn i egenskapen Server anslutning bör du ange ett timeout-värde på tre minuter eller mer för att ge tillräckligt med tid för att en redundansanslutning ska lyckas. Mer information om katastrofåterställning finns i JDBC-drivrutinsstöd för hög tillgänglighet och katastrofåterställning.
maxResultBuffer

Sträng

noll
(Version 9.2+) maxResultBuffer kan användas för att ange maximalt antal byte som ska läsas när du läser en resultatuppsättning. Om det inte anges läses hela resultatuppsättningen. Storlek kan anges i två format:
1. som storlek på byte (till exempel 100, 150M, 300K, 400G)
2. som en procent av maximalt heap-minne (till exempel 10p, 15pct, 20percent).
msiClientId

Sträng

noll
(Inaktuell) (Version 7.2+) Klient-ID:t för den hanterade identiteten (MSI) som används för att hämta en accessToken- för att upprätta en anslutning till ActiveDirectoryManagedIdentity eller ActiveDirectoryMSI autentiseringsläge.
multiSubnetFailover

Boolesk

falsk
Ange alltid multiSubnetFailover=true för att ansluta till tillgänglighetsgruppens lyssnare för en SQL Server-tillgänglighetsgrupp eller en SQL Server-redundansklusterinstans. multiSubnetFailover=true konfigurerar drivrutinen för snabbare identifiering av och anslutning till den (för närvarande) aktiva servern. Möjliga värden är sanna och falska. Mer information om katastrofåterställning finns i JDBC-drivrutinsstöd för hög tillgänglighet, katastrofåterställning.

Du kan programmatiskt komma åt anslutningsegenskapen multiSubnetFail over med getPropertyInfo, getMultiSubnetFailoveroch setMultiSubnetFailover.

Obs! Från och med Microsoft JDBC Driver 6.0 för SQL Server behöver du inte längre ange multiSubnetFailover till "true" för att ansluta till en tillgänglighetsgrupplyssnare. En ny egenskap, transparentNetworkIPResolution, som är aktiverad som standard, ger identifiering av och anslutning till den (för närvarande) aktiva servern.
paketstorlek

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

8000
Storleken på nätverkspaketen som används för att kommunicera med servern, som anges i byte. Värdet -1 anger att serverns standardpaketstorlek ska användas. Värdet 0 anger att det maximala värdet 32767 ska användas. Om den här egenskapen är inställd på ett värde utanför det godkända intervallet inträffar ett undantag.

Viktigt: Att använda egenskapen packetSize när krypteringen är aktiverad (encrypt=true) rekommenderas inte. Annars kan drivrutinen generera ett anslutningsfel. Mer information om den här egenskapen finns i metoden setPacketSize för klassen SQLServerDataSource.
lösenord

Sträng
[<=128 tecken]

noll
Lösenord för databasen vid anslutning med SQL-användarnamn och lösenord.
För Kerberos-anslutning med huvudnamn och lösenord är den här egenskapen inställd på Kerberos-huvudlösenordet.

(Version 10.2+) När authentication=ActiveDirectoryServicePrincipalidentifierar egenskapen lösenord lösenordet som ska användas för Active Directory-huvudnamnet.
portNumber,
hamn

Int
[0..65535]

1433
Porten där servern lyssnar. Om portnumret anges i anslutningssträngen görs ingen begäran till SQLbrowser. När både port och instanceName har angetts görs anslutningen till den angivna porten. Men instanceName verifieras och ett fel utlöses om det inte matchar porten.

Viktigt: Vi rekommenderar att portnumret alltid anges eftersom det är säkrare än att använda SQLbrowser.
prepareMethod

Sträng
["prepexec" | "Förbered"]

prepexec
(Version 11.2.0+) Anger den underliggande förberedelsemetoden som drivrutinen ska använda med förberedda uttryck.

Ställ in för att förbereda för att använda sp_prepare som förberedningsmetod. Om du anger prepareMethod till det här värdet resulterar det i ett separat, inledande anrop till databasen för att förbereda instruktionen utan att några initiala värden beaktas i databasens körningsplan. Ställ in prepexec för att använda sp_prepexec som förbereda metod. Den här metoden kombinerar förberedelseåtgärden med den första körningen, vilket minskar tur och retur. Det ger också databasen initiala parametervärden som databasen kan överväga i körningsplanen.
queryTimeout

Int

-1
Antalet sekunder att vänta innan en timeout inträffar på en fråga. Standardvärdet är -1, vilket innebär oändlig timeout. Ange det här värdet till 0 innebär också att vänta på obestämd tid.
domän

Sträng

noll
(Version 9.4+) Sfären för Kerberos-autentisering. Ange det här värdet för att åsidosätta Kerberos-autentiseringssfären som drivrutinen automatiskt identifierar från serverns sfär.
Replikering

boolesk
["sant" | "falskt"]

falsk
(Version 9.4+) Den här inställningen anger för servern om anslutningen används för replikering. När aktiverad utlöses inte utlösare med alternativet NOT FOR REPLICATION på anslutningen.
responseBuffering

Sträng
["full" | "adaptiv"]

anpassningsbar
Om den här egenskapen är inställd på "anpassningsbar" buffras minsta möjliga data vid behov. Standardläget är "anpassningsbart".

Om den här egenskapen är inställd på "full" läses hela resultatuppsättningen från servern när ett uttalande körs.

Obs! Efter JDBC-drivrutinsversion 1.2 är standardbeteendet för buffring "anpassningsbart". Om du vill behålla standardbeteendet för version 1.2 i ditt program anger du egenskapen responseBuffering till "full" antingen i anslutningsegenskaperna eller använder setResponseBuffering-metoden för SQLServerStatement-objektet.
selectMethod

Sträng
["direct" | "markören"]

direkt
Om egenskapen är inställd på "markör" skapas en databasmarkör för varje fråga som utförs via anslutningen för TYPE_FORWARD_ONLY samt CONCUR_READ_ONLY markörer. Den här egenskapen krävs vanligtvis bara om programmet genererar stora resultatuppsättningar som inte kan vara helt inneslutna i klientminnet. Om den här egenskapen är inställd på "markör" sparas endast ett begränsat antal resultatuppsättningsrader i klientminnet.

Standardbeteendet är att alla resultatuppsättningsrader sparas i klientminnet. Det här beteendet ger den snabbaste prestandan när programmet bearbetar alla rader.
sendStringParameters...
AsUnicode

boolesk
["sant" | "falskt"]

sann
Om egenskapen sendStringParametersAsUnicode är inställd på "true" skickas strängparametrar till servern i Unicode-format.

Om egenskapen sendStringParametersAsUnicode är inställd på "false" skickas strängparametrar till servern i icke-Unicode-format, till exempel ASCII/MBCS i stället för Unicode.

Standardvärdet för egenskapen sendStringParametersAsUnicode är "true".

Obs! egenskapen sendStringParametersAsUnicode kontrolleras bara för att skicka ett parametervärde med CHAR, VARCHAReller LONGVARCHAR JDBC-typer. De nya nationella JDBC 4.0-teckenmetoderna innehåller metoder som setNString, setNCharacterStream och setNClob för SQLServerPreparedStatement och SQLServerCallableStatement klasser. Dessa metoder skickar alltid sina parametervärden till servern i Unicode oavsett inställningen för den här egenskapen.

För optimala prestanda med CHARVARCHARoch LONGVARCHAR JDBC-datatyper, ett program ska ange egenskapen sendStringParametersAsUnicode till "false" och använda metoderna setString, setCharacterStream och setClob som inte är nationella för SQLServerPreparedStatement och SQLServerCallableStatement klasser.

När programmet anger sendStringParametersAsUnicode egenskapen till "false" och använder en icke-nationell teckenmetod för att komma åt Unicode-datatyper på serversidan (till exempel nchar, nvarchar och ntext) kan vissa data gå förlorade om databassortering inte stöder tecknen i strängparametrarna som skickas av metoden för icke-nationella tecken.

Ett program bör använda de nationella teckenmetoderna setNString, setNCharacterStream och setNClob i SQLServerPreparedStatement- och SQLServerCallableStatement-klasserna för NCHAR, NVARCHARoch LONGNVARCHAR JDBC-datatyper.

Om du ändrar det här värdet kan det påverka sortering av resultat från databasen. Sorteringsskillnaderna beror på olika sorteringsregler för Unicode jämfört med icke-Unicode-tecken.
skickaTemporäraDatatyper...
AsStringForBulkCopy

boolesk
["sant" | "falskt"]

sann
(Version 8.4+) När denna anslutningsegenskap är inställd på "false", skickas DATE, DATETIME, DATETIME2, DATETIMEOFFSET, SMALLDATETIMEoch TIME datatyper som sina respektive typer i stället för att skicka dem som sträng.

Med den här anslutningsegenskapen inställd på "false" accepterar drivrutinen standardsträngens literalformat för varje temporal datatyp, till exempel:

DATUM: YYYY-MM-DD
DATETIME: 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
TID: hh:mm:ss[.nnnnnnn]
sendTimeAsDatetime

boolesk
["sant" | "falskt"]

sann
Den här egenskapen lades till i SQL Server JDBC Driver 3.0.

Ange "true" för att skicka java.sql.Time-värden till servern som SQL Server datetime-värden.
Ställ in på "false" för att skicka java.sql.Time-värden till servern som SQL Server time-values.

Standardvärdet för den här egenskapen är för närvarande "sant" och kan ändras i en framtida version.

Mer information om hur Microsoft JDBC-drivrutinen för SQL Server konfigurerar java.sql.Time-värden innan den skickar dem till servern finns i Konfigurera hur java.sql.Time-värden skickas till servern.
servercertifikat
server

Sträng

noll
(Version 11.2.0+) Sökvägen till servercertifikatfilen. Används för validering när kryptera anges till strikt. Drivrutinen stöder certifikatfiler med PEM-filformatet.
serverNamn
server

Sträng

noll
Datorn som kör SQL Server eller en Azure SQL-databas.

Du kan också ange namnet på det virtuella nätverket för en tillgänglighetsgrupp. Mer information om katastrofåterställning finns i JDBC-drivrutinsstöd för hög tillgänglighet och katastrofåterställning.
serverNameAsACE

boolesk
["sant" | "falskt"]

falsk
(Version 6.0+) Ange "true" för att ange att drivrutinen ska översätta Unicode-servernamnet till ASCII-kompatibel kodning (Punycode) för anslutningen. Om den här inställningen är falsk använder drivrutinen det angivna servernamnet för att ansluta.

Mer information om internationella funktioner finns i Internationella funktioner i JDBC-drivrutinen.
serverPreparedStatement...
DiscardThreshold

Heltal

10
(Version 6.2+) Den här egenskapen kan användas för att styra hur många åtgärder för borttagning av förberedda instruktioner (sp_unprepare) som kan vara kvarvarande per anslutning innan ett anrop för att städa de kvarvarande handtagen på servern körs.

Om den här egenskapen är inställd på <= 1utförs oförberedda åtgärder omedelbart vid stängning av förberedda instruktioner. Om egenskapen är inställd på > 1batchas dessa anrop tillsammans för att undvika att anropa sp_unprepare för ofta.
serverSpn

Sträng

noll
(Version 4.2+) Den här valfria egenskapen kan användas för att ange tjänstens huvudnamn (SPN) för en Java Kerberos-anslutning. Den används med autentiseringsschema.

För att ange SPN kan det vara i form av: "MSSQLSvc/fqdn:port@REALM" där fqdn är det fullständigt kvalificerade domännamnet, porten är portnumret och REALM är Kerberos-sfären för SQL Server med versaler.

Obs! @REALM är valfritt om standardsfären för klienten (som anges i Kerberos-konfigurationen) är samma som Kerberos-sfären för SQL Server.

Mer information om hur du använder serverSpn- med Java Kerberos finns i Använda Kerberos-integrerad autentisering för att ansluta till SQL Server.
socketFactoryClass

Sträng

noll
(Version 8.4+) Anger klassnamnet för en anpassad socketfabrik som ska användas i stället för standard-socketfabriken.
socketTimeout

Int

0
Antalet millisekunder att vänta innan en timeout inträffar på en socketläsning eller -accept. Standardvärdet är 0, vilket innebär oändlig timeout.
statementPooling...
CacheSize

Int

0
(Version 6.4+) Den här egenskapen kan användas för att aktivera förberedda instruktioner för cachelagring i drivrutinen.

Den här egenskapen definierar storleken på cachen för statement pooling.

Den här egenskapen kan bara användas med disableStatementPooling anslutningsegenskap, som ska vara inställd på "false". Om du anger disableStatementPooling till "true" eller statementPoolingCacheSize till 0 inaktiveras cachelagring av förberedda uttalanden.
SSL-protokoll

Sträng

TLS
(Version 6.4+) Den här egenskapen kan användas för att ange TLS-protokollet som ska beaktas vid säker anslutning.
Möjliga värden är: TLS, TLSv1, TLSv1.1och TLSv1.2.

Mer information om protokollet Secure Sockets Layer finns i SSLProtocol.
transparentNetwork...
IP-upplösning

boolesk
["sant" | "falskt"]

sann
(Version 6.0+) Den här egenskapen ger snabbare identifiering av och anslutning till den (för närvarande) aktiva servern. Möjliga värden är "true" och "false" där "true" är standardvärdet.

Innan Microsoft JDBC Driver 6.0 för SQL Server var ett program tvunget att ange anslutningssträngen så att den inkluderade "multiSubnetFailover=true" för att indikera att det anslöt till en AlwaysOn-tillgänglighetsgrupp. Utan att ange multiSubnetFailover-anslutningsnyckelordet till "true" kan ett program få en timeout vid anslutning till en AlwaysOn-tillgänglighetsgrupp. Med version 6.0 och senare krävs inget program för att ställa in multiSubnetFailover på true längre.

Obs! När transparentNetworkIPResolution=true används 500 ms i det första anslutningsförsöket som tidsgräns. Alla senare försök använder samma timeout-logik som används av multiSubnetFailover-egenskapen.
trustManagerClass

Sträng

noll
(Version 6.4+) Det fullständigt kvalificerade klassnamnet för en anpassad javax.net.ssl.TrustManager implementering.
trustManager...
KonstruktorArg

Sträng

noll
(Version 6.4+) Ett valfritt argument som ska skickas till konstruktorn i TrustManager. Om egenskapen trustManagerClass anges och en krypterad anslutning begärs används den anpassade TrustManager i stället för standardsystemet JVM-nyckelarkivbaserad TrustManager.
litaPåServercertifikat

boolesk
["sant" | "falskt"]

falsk
Ange "true" för att ange att drivrutinen inte verifierar serverns TLS/SSL-certifikat.

Om "sant" är serverns TLS/SSL-certifikat automatiskt betrott när kommunikationsskiktet krypteras med hjälp av TLS.

Om "false" verifierar drivrutinen serverns TLS/SSL-certifikat. Om verifieringen av servercertifikatet misslyckas genererar drivrutinen ett fel och stänger anslutningen. Standardvärdet är "false". Kontrollera att värdet som skickas till serverName exakt matchar det gemensamma namnet (CN) eller DNS-namnet i det alternativa ämnesnamnet i servercertifikatet för att en TLS/SSL-anslutning ska lyckas. Mer information om krypteringsstöd finns i Förstå krypteringsstöd.

Obs! Den här egenskapen används i kombination med egenskaperna kryptera/autentisering. Den här egenskapen påverkar endast serverns TLS/SSL-certifikatverifiering om anslutningen använder TLS-kryptering.
trustStore

Sträng

noll
Sökvägen (inklusive filnamn) till certifikatets trustStore-fil. Filen trustStore innehåller listan över certifikat som klienten litar på.

När den här egenskapen är ospecificerad eller inställd på null förlitar sig drivrutinen på trust manager-fabrikens uppslagsregler för att avgöra vilket certifikatarkiv som ska användas.

Standardinställningen SunX509 TrustManagerFactory försöker hitta det betrodda materialet i följande sökordning:

En fil som anges av JVM-systemegenskapen "javax.net.ssl.trustStore".

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

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



Mer information om SUNX509 TrustManager-gränssnittet finns i dokumentationen om SUNX509 TrustManager Interface på Sun Microsystems webbplats.

Obs! Den här egenskapen påverkar endast sökningen av certifikatförtroendearkiv om anslutningen använder TLS-kryptering och inställningen trustServerCertificate är inställd på "false".
lösenord för trustStore

Sträng

noll
Lösenordet som används för att kontrollera integriteten för trustStore-data.

Om egenskapen trustStore har angetts men egenskapen trustStorePassword inte har angetts kontrolleras inte integriteten för trustStore.

När egenskaperna både trustStore och trustStorePassword är ospecificerade använder drivrutinen JVM-systemegenskaperna "javax.net.ssl.trustStore" och "javax.net.ssl.trustStorePassword". Om systemegenskapen "javax.net.ssl.trustStorePassword" inte har angetts kontrolleras inte integriteten för trustStore.

Om användaren inte anger egenskapen trustStore, men de anger egenskapen trustStorePassword, använder JDBC-drivrutinen filen som "javax.net.ssl.trustStore" anger som ett förtroendearkiv. Dessutom kontrollerar drivrutinen integriteten i förtroendearkivet genom att använda det angivna förtroendearkivLösenordet. Den här inställningen behövs när klientprogrammet inte vill lagra lösenordet i JVM-systemegenskapen.

Obs! Egenskapen trustStorePassword påverkar bara sökningen av certifikatets trustStore om anslutningen använder TLS och egenskapen trustServerCertificate är inställd på "false".
trustStoreType

Sträng

JKS
Ange den här egenskapen för att ange vilken typ av förtroendearkiv som ska användas för FIPS-läge.

Möjliga värden är antingen PKCS12- eller typ som definierats av FIPS-providern.
useBulkCopyFor...
BatchInsert

boolesk
["sant" | "falskt"]

falsk
(Version 9.2+) Den här anslutningsegenskapen kan aktiveras för att användas transparent tillsammans med Bulk-kopierings-API:et när du utför batchinföringsåtgärder med hjälp av java.sql.PreparedStatement. Den här funktionen ger eventuellt högre prestanda när den är aktiverad.

Den här funktionen är inaktiverad som standard. Ange den här egenskapen till "true" för att aktivera den här funktionen.

Viktigt Obs! Den här funktionen stöder endast fullständigt parametriserade INSERT-frågor. Om INSERT-frågorna kombineras med andra SQL-frågor eller innehåller data i värden, återgår körningen till den grundläggande batchinfogningsåtgärden.

Mer information om hur du använder den här egenskapen finns i Användning av bulkcopy-API för satsvis infogningsoperation
useDefaultGSSCredential

boolesk
["sant" | "falskt"]

falsk
(Version 12.6+) Flagga för att ange om drivrutinen ska skapa GSSCredential å användarens vägnar för att använda Native GSS-API för Kerberos-autentisering.
användStandardJaasKonfig

boolesk
["sant" | "falskt"]

falsk
(Version 12.6+) När programmet finns tillsammans med bibliotek som konfigurerar JAAS på systemnivå kan drivrutinen använda samma konfiguration för att utföra Kerberos-autentisering genom att ställa in den här egenskapen på true.
useFmtOnly

boolesk
["sant" | "falskt"]

falsk
(Version 7.4+) Ger ett alternativt sätt att fråga efter parametermetadata från servern. Ange den här egenskapen till "true" för att ange att drivrutinen ska använda SET FMTONLY logik när du frågar efter parametermetadata. Den här funktionen är inaktiverad som standard och vi rekommenderar inte att du använder den här egenskapen eftersom SET FMTONLY har markerats för utfasning. useFmtOnly görs tillgänglig för användning endast som en lösning på kända problem och begränsningar i sp_describe_undeclared_parameters.

Den här funktionen har för närvarande endast stöd för enskilda SELECT/INSERT/UPDATE/DELETE frågor. Försök att använda den här funktionen med frågor som inte stöds/flera frågor gör att drivrutinen försöker parsa frågan, men resulterar troligen i ett undantag.

För mer information om den här egenskapen, se Hämtning av ParameterMetaData via useFmtOnly.
användarnamn
användare

Sträng
[<=128 tecken]

noll
Om det finns en anslutning med SQL-användaren och lösenordet, så är det databasanvändaren.

För Kerberos-anslutning med huvudnamn och lösenord är den här egenskapen inställd på Kerberos-huvudnamn.

(Version 10.2+) När authentication=ActiveDirectoryServicePrincipalanger egenskapen userName ett giltigt azure Active Directory-säkert klient-ID.
arbetsstations-ID

Sträng
[<=128 tecken]

<empty string>
Arbetsstations-ID:t. Används för att identifiera den specifika arbetsstationen i olika profilerings- och loggningsverktyg.

Om inget anges används <empty string>.
xopenStates

boolesk
["sant" | "falskt"]

falsk
Ställ in på "true" för att ange att drivrutinen returnerar XOPEN-kompatibla tillståndskoder i undantag.

Standardvärdet är att returnera SQL 99-tillståndskoder.

Not

Microsoft JDBC-drivrutinen för SQL Server tar serverns standardvärden för anslutningsegenskaper förutom ANSI_DEFAULTS och IMPLICIT_TRANSACTIONS. Microsoft JDBC-drivrutinen för SQL Server ställer automatiskt in ANSI_DEFAULTS till PÅ och IMPLICIT_TRANSACTIONS till AV.

Viktig

Om autentiseringen är inställd på ActiveDirectoryPassword måste följande bibliotek ingå i klassökvägen: microsoft-authentication-library-for-java-. Den finns på Maven-lagringsplats. Det enklaste sättet att ladda ned biblioteket och dess beroenden är att använda Maven:

  1. Installera Maven i systemet
  2. Gå till GitHub-sidan för drivrutinen
  3. Ladda ned filen pom.xml
  4. Kör följande Maven-kommando för att ladda ned biblioteket och dess beroenden: mvn dependency:copy-dependencies

Se även

Ansluta till SQL Server med JDBC-drivrutinen
FIPS-läge