Festlegen von Verbindungseigenschaften
Es gibt verschiedene Möglichkeiten, um die Eigenschaften für die Verbindungszeichenfolge anzugeben:
Als Name=Wert-Eigenschaften in der Verbindungs-URL, wenn Verbindungen mit der DriverManager-Klasse hergestellt werden. Informationen zur Syntax der Verbindungszeichenfolge finden Sie unter Erstellen der Verbindungs-URL.
Als Name=Wert-Eigenschaften im Properties-Parameter der Connect-Methode in der DriverManager-Klasse.
Als Werte in der entsprechenden Settermethode der Datenquelle des Treibers. Beispiel:
datasource.setServerName(value) datasource.setDatabaseName(value)
Bemerkungen
Bei den Namen von Eigenschaften wird Groß-/Kleinschreibung unterschieden. Doppelte Eigenschaftennamen werden in der folgenden Reihenfolge aufgelöst:
- API-Argumente (wie Benutzer und Kennwort)
- Property-Auflistung
- Letzte Instanz in der Verbindungszeichenfolge
Unbekannte Werte sind für Eigenschaftsnamen zulässig und werden vom JDBC-Treiber nicht auf Groß- und Kleinschreibung überprüft.
Synonyme sind zulässig und werden in der gleichen Reihenfolge wie doppelte Eigenschaftennamen aufgelöst.
Eigenschaften
Die folgende Tabelle enthält eine Liste aller zurzeit verfügbaren Verbindungszeichenfolgeeigenschaften für den JDBC-Treiber.
Eigenschaft type Standard |
BESCHREIBUNG |
---|---|
accessToken String NULL |
(Version 6.0 und höher) Verwenden Sie diese Eigenschaft, um mithilfe eines Zugriffstokens eine Verbindung mit einer Datenbank herzustellen. accessToken können nicht unter Verwendung der Verbindungs-URL festgelegt werden. |
accessTokenCallbackClass String NULL |
(Version 12.4+) Der Name der Rückruf implementierenden Klasse, die mit einem Zugriffstokenrückruf verwendet werden soll. |
applicationIntent String ReadWrite |
(Version 6.0 und höher) Hiermit wird der Anwendungsworkloadtyp zum Herstellen einer Verbindung mit einem Server deklariert. Mögliche Werte sind ReadOnly und ReadWrite. Weitere Informationen zur Notfallwiederherstellung finden Sie unter JDBC-Treiber-Unterstützung für Hochverfügbarkeit, Notfallwiederherstellung. |
applicationName String [<=128 char] NULL |
Der Anwendungsname oder „Microsoft JDBC-Treiber für SQL Server“, wenn kein Name angegeben ist. Anhand dieser Eigenschaft wird die jeweilige Anwendung in den verschiedenen SQL Server-Profilerstellungs- und Protokollierungstools identifiziert. |
authentication String NotSpecified |
(Version 6.0 und höher) Diese optionale Eigenschaft gibt an, welche Authentifizierungsmethode für die Verbindung verwendet werden soll. Mögliche Werte sind ActiveDirectoryIntegrated, ActiveDirectoryPassword, ActiveDirectoryManagedIdentity (Version 12.2+), ActiveDirectoryMSI (Version 7.2+), ActiveDirectoryInteractive (Version 9.2+), ActiveDirectoryServicePrincipal (Version 9.2+), SqlPassword sowie der Standard NotSpecified. Verwenden Sie ActiveDirectoryIntegrated (Version 6.0 und höher), um mithilfe der integrierten Windows-Authentifizierung eine Verbindung mit SQL herzustellen. Verwenden Sie ActiveDirectoryPassword (Version 6.0 und höher), um mithilfe eines Microsoft Entra-Prinzipalnamens und des zugehörigen Kennworts eine Verbindung mit SQL herzustellen. Verwenden Sie ActiveDirectoryMSI (Version 12.2+) oder ActiveDirectoryMSI (Version 7.2+), um von einer Azure-Ressource aus eine Verbindung mit SQL herzustellen. Dabei kann es sich um einen virtuellen Azure-Computer, einen App Service oder eine Funktions-App handeln, die die Authentifizierung mithilfe einer verwalteten Identität nutzen. Die folgenden zwei Typen von verwalteten Identitäten werden vom Treiber unterstützt, wenn der Authentifizierungsmodus ActiveDirectoryManagedIdentity oder ActiveDirectoryMSI verwendet wird: 1. Systemseitig zugewiesene verwaltete Identität: Wird verwendet, um standardmäßig ein accessToken abzurufen. 2. Benutzerseitig zugewiesene verwaltete Identität: Dient zum Abrufen von accessToken, wenn die Client-ID einer verwalteten Identität mit der Verbindungseigenschaft msiClientId angegeben wird. Verwenden Sie ActiveDirectoryInteractive, um mithilfe eines interaktiven Authentifizierungsflows eine Verbindung mit SQL herzustellen. Verwenden Sie ActiveDirectoryServicePrincipal (Version 9.2 und höher), um mithilfe der Client-ID und des Geheimnisses einer Dienstprinzipalidentität eine Verbindung mit SQL herzustellen. Geben Sie die Client-ID in der userName-Eigenschaft und das Geheimnis in der Kennworteigenschaft (Version 10.2 und höher) an. Verwenden Sie SqlPassword, um unter Verwendung der Eigenschaften userName/user und password eine Verbindung mit SQL herzustellen. Verwenden Sie NotSpecified, wenn keine dieser Authentifizierungsmethoden erforderlich ist. Wichtig: Wenn die Authentifizierung auf „ActiveDirectoryIntegrated“ festgelegt ist, müssen die folgenden beiden Bibliotheken installiert sein: mssql-jdbc_auth-<version>-<arch>.dll (verfügbar im Paket des JDBC-Treibers) und die Microsoft-Authentifizierungsbibliothek für SQL Server (ADAL.DLL). Die Microsoft-Authentifizierungsbibliothek kann über den Microsoft ODBC Driver for SQL Server oder den Microsoft OLE DB-Treiber für SQL Server installiert werden. Der JDBC-Treiber unterstützt nur Version 1.0.2028.318 und höher für ADAL.DLL. Hinweis: Wird die Eigenschaft „Authentifizierung“ auf einen anderen Wert als NotSpecified festgelegt, verwendet der Treiber standardmäßig die TLS-Verschlüsselung (Transport Layer Security), die früher als SSL-Verschlüsselung (Secure Sockets Layer) bezeichnet wurde. Weitere Informationen zur Konfiguration der Microsoft Entra-Authentifizierung finden Sie unter Verwenden der Microsoft Entra-Authentifizierung. |
authenticationScheme String NativeAuthentication |
Gibt die Art der integrierten Sicherheit an, die für Ihre Anwendung verwendet werden soll. Mögliche Werte sind JavaKerberos, NTLM (Version 7.4 und höher) und der Standardwert NativeAuthentication. NativeAuthentication bewirkt, dass der Treiber unter Windows mssql-jdbc_auth-<version>-<arch>.dll (z. B. mssql-jdbc_auth-8.2.2.x64.dll ) lädt, was zum Abrufen integrierter Authentifizierungsinformationen verwendet wird. (Bei Verwendung der Treiberversionen 6.0 bis 7.4 heißt die geladene native Authentifizierungsbibliothek sqljdbc_auth.dll .)Bei Verwendung von authenticationScheme=JavaKerberos müssen Sie den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) in der Eigenschaft serverName oder serverSpn angeben. Andernfalls tritt ein Fehler auf (Server in Kerberos-Datenbank nicht gefunden). Weitere Informationen zum Verwenden von authenticationScheme=JavaKerberos finden Sie unter Herstellen von Verbindungen zu SQL Server mit der integrierten Kerberos-Authentifizierung. Bei Verwendung von authenticationScheme=NTLM müssen Sie mithilfe der Eigenschaft domain oder domainName die Windows-Domäne angeben. Außerdem müssen Sie in der Eigenschaft user oder userName und der Eigenschaft password die Windows-Anmeldeinformationen angeben. Andernfalls tritt ein Fehler auf (Verbindungseigenschaften müssen angegeben werden). |
cacheBulkCopyMetadata boolean [„true“ | „false“] false |
(Version 12.8+) Bei Verwendung von useBulkCopyForBatchInsert=true wird dem Treiber mit dieser Eigenschaft mitgeteilt, ob Zielspalten-Metadaten auf Verbindungsebene zwischengespeichert werden sollen. Wenn diese Eigenschaft auf true festgelegt ist, müssen Sie sicherstellen, dass sich das Ziel zwischen Masseneinfügungen nicht ändert, da der Treiber keine Möglichkeit zur Verarbeitung dieser Änderung hat. |
calcBigDecimalPrecision boolean [„true“ | „false“] false |
(Version 12.6+) Flag, das angibt, ob der Treiber die Genauigkeit für BigDecimal-Eingaben berechnen und nicht den maximal zulässigen Wert für die Genauigkeit (38) verwenden soll. |
cancelQueryTimeout INT -1 |
(Version 6.4 und höher) Mit dieser Eigenschaft kann ein für die Verbindung festgelegter queryTimeout abgebrochen werden. Die Abfrageausführung reagiert nicht und löst keine Ausnahme aus, wenn die TCP-Verbindung mit dem Server im Hintergrund unterbrochen wird. Diese Eigenschaft ist nur anwendbar, wenn „queryTimeout“ auch für die Verbindung festgelegt ist. Der Treiber wartet die Anzahl von Sekunden, die mit cancelQueryTimeout + queryTimeout angegeben ist, unterbricht dann die Verbindung und schließt den Kanal. Der Standardwert für diese Eigenschaft ist „-1“, und das Standardverhalten ist es, unbegrenzt zu warten. |
clientCertificate String NULL |
(Version 8.4 und höher) Gibt den Speicherort des Zertifikats an, das für die Clientzertifikatauthentifizierung verwendet werden soll. Der JDBC-Treiber unterstützt die Dateierweiterungen PFX, PEM, DER und CER. Ausführliche Informationen finden Sie unter Clientzertifikatauthentifizierung für Loopbackszenarios. |
clientKey String NULL |
(Version 8.4 und höher) Gibt den Speicherort des privaten Schlüssels für PEM-, DER- und CER-Zertifikate an, die durch das clientCertificate-Attribut angegeben werden. Ausführliche Informationen finden Sie unter Clientzertifikatauthentifizierung für Loopbackszenarios. |
clientKeyPassword String NULL |
(Version 8.4 und höher) Diese Eigenschaft gibt die optionale Kennwortzeichenfolge für den Zugriff auf den privaten Schlüssel der clientKey-Datei an. Ausführliche Informationen finden Sie unter Clientzertifikatauthentifizierung für Loopbackszenarios. |
columnEncryptionSetting String [„Enabled“ | „Disabled“] Disabled |
(Version 6.0 und höher) Legen Sie die Eigenschaft auf „Aktiviert“ fest, um das Always Encrypted-Feature (AE) zu verwenden. Wenn AE aktiviert ist, werden vertrauliche Daten, die in verschlüsselten Datenbankspalten auf dem Server gespeichert sind, vom JDBC-Treiber transparent verschlüsselt und entschlüsselt. Weitere Informationen zu Always Encrypted finden Sie unter Verwenden von Always Encrypted mit dem JDBC-Treiber. Hinweis: Always Encrypted ist mit SQL Server 2016 oder höheren Versionen und Azure SQL-Datenbank verfügbar. |
connectRetryCount INT [0..255] 1 |
(Version 9.4 und höher) Dies ist die Anzahl der erneuten Verbindungsversuche, wenn ein Verbindungsfehler auftritt. |
connectRetryInterval INT [1..60] 10 |
(ab Version 9.4) Gibt an, wie viele Sekunden zwischen den einzelnen Verbindungsversuchen liegen sollen. |
databaseName, database String [<=128 char] NULL |
Der Name der Datenbank, zu der eine Verbindung hergestellt werden soll. Ohne Angabe wird eine Verbindung zur Standarddatenbank erstellt. |
datetimeParameterType String ["datetime" | "datetime2" | "datetimeoffset"] datetime2 |
(Version 12.2 und höher) Der SQL-Datentyp, der für Datums-/Zeitstempelparameter von Java verwendet werden soll. Wenn man eine Verbindung mit SQL Server 2016 oder höher herstellt und mit älteren „datetime“-Werten interagiert, können Clients davon profitieren, die Eigenschaft auf „datetime“ festzulegen. Durch diese Einstellung werden serverseitige Konvertierungsprobleme zwischen „datetime“ und „datetime2“-Werten entschärft. Weitere Informationen finden Sie unter Ändern des Konvertierungsverhaltens von datetime in datetime2 ab SQL Server 2016 |
delayLoadingLobs boolean [„true“ | „false“] true |
Flag, das angibt, ob alle LOB-Objekte, die aus dem ResultSet abgerufen werden, gestreamt werden sollen oder nicht. Wenn diese Eigenschaft auf „false“ festgelegt wird, wird das gesamte LOB-Objekt ohne Streaming in den Arbeitsspeicher geladen. |
domainName, Domäne String NULL |
(Version 7.4 und höher) Die Windows-Domäne, bei der die Authentifizierung erfolgen soll, wenn die NTLM-Authentifizierung verwendet wird. |
disableStatementPooling boolean [„true“ | „false“] true |
Dieses Flag gibt an, ob das Anweisungspooling verwendet werden soll. |
enablePrepareOnFirst... PreparedStatementCall boolean [„true“ | „false“] false |
Bei Festlegung auf „true“ kann ein Handle für die vorbereitete Anweisung durch Aufrufen von sp_prepexec bei der ersten Ausführung einer vorbereiteten Anweisung erstellt werden. Bei Festlegung auf „false“ wird die erste Ausführung einer vorbereiteten Anweisung so geändert, dass sp_executesql aufgerufen und keine Anweisung vorbereitet wird. Im Fall einer zweiten Ausführung wird sp_prepexec aufgerufen, um ein Handle für die vorbereitete Anweisung einzurichten. |
enclaveAttestationUrl String NULL |
(Version 8.2 und höher) Diese optionale Eigenschaft weist die URL für den Nachweisdienstendpunkt an, Always Encrypted mit Secure Enclaves zu verwenden. Weitere Informationen zu Always Encrypted mit Secure Enclaves finden Sie unter Always Encrypted mit Secure Enclaves. |
enclaveAttestationProtocol String NULL |
(Version 8.2 und höher) Diese optionale Eigenschaft weist das Nachweisprotokoll an, Always Encrypted mit Secure Enclaves zu verwenden. Derzeit werden für dieses Feld nur die Werte HGS, AAS und NONE unterstützt. (NONE wird nur in Version 11.2 und höheren Versionen unterstützt.) Weitere Informationen zu Always Encrypted mit Secure Enclaves finden Sie unter Always Encrypted mit Secure Enclaves. |
encrypt String NULL |
Bei Festlegung auf „TRUE“ verwendet SQL Server für alle zwischen Client und Server gesendeten Daten eine TLS-Verschlüsselung, sofern auf dem Server ein Zertifikat installiert ist. Der Standardwert ist „true“ in Version 10.2 und höher und „false“ in Version 9.4 und niedrigeren Versionen. Ab Version 6.0 ist eine neue Verbindungseinstellung für die Authentifizierung verfügbar, die standardmäßig auf TLS-Verschlüsselung festgelegt ist. Weitere Informationen zu dieser Eigenschaft finden Sie unter der Eigenschaft „authentication“. In Version 11.2.0 und höher wurde encrypt von boolesch in Zeichenfolge geändert. Dies ermöglicht Unterstützung von TDS 8.0, wenn die Eigenschaft auf strict festgelegt ist. |
failoverPartner String NULL |
Der Name des Failoverservers, der in einer Datenbankspiegelungskonfiguration verwendet wird. Diese Eigenschaft wird für einen anfänglichen Verbindungsfehler mit dem Prinzipalserver verwendet. Nachdem Sie die anfängliche Verbindung hergestellt haben, wird diese Eigenschaft ignoriert. Muss mit der databaseName-Eigenschaft verwendet werden. Hinweis: Der Treiber bietet keine Unterstützung für die Portnummer der Serverinstanz für die Failoverpartnerinstanz innerhalb der failoverPartner-Eigenschaft in der Verbindungszeichenfolge. Der Server unterstützt jedoch nicht die Angabe der Eigenschaften serverName, instanceName und portNumber der Prinzipalserverinstanz und die failoverPartner-Eigenschaft der Failoverpartnerinstanz können in der gleichen Verbindungszeichenfolge. Wenn Sie in der Server-Verbindungseigenschaft den Namen eines virtuellen Netzwerks angeben, kann die Datenbankspiegelung nicht verwendet werden. Weitere Informationen zur Notfallwiederherstellung finden Sie unter JDBC-Treiber-Unterstützung für Hochverfügbarkeit, Notfallwiederherstellung. |
fips boolean [„true“ | „false“] „FALSE“ |
In einer JVM-Umgebung (Java Virtual Machine) mit aktiviertem FIPS sollte diese Eigenschaft auf TRUE festgelegt werden. |
fipsProvider String NULL |
In JVM konfigurierter FIPS-Anbieter. Beispiele: BCFIPS oder SunPKCS11-NSS. In Version 6.4.0 entfernt. Weitere Informationen finden Sie unter GitHub-Problem 460. |
gsscredential org.ietf.jgss.GSSCredential NULL |
(Version 6.2 und höher) In dieser Eigenschaft können Benutzeranmeldeinformationen übergeben werden, die für die eingeschränkte Kerberos-Delegierung verwendet werden sollen. Diese Einstellung sollte mit der Festlegung von integratedSecurity auf true und JavaKerberos auf authenticationScheme verwendet werden. |
hostNameInCertificate String NULL |
Dies ist der Hostname, der zum Überprüfen des TLS-/SSL-Zertifikats von SQL Server verwendet werden soll. Mit der Option hostNameInCertificate kann der Hostname in Situationen angegeben werden, in denen der Name oder die Namen im Zertifikat nicht mit dem an die Eigenschaft serverName übergebenen Namen übereinstimmen. Liegt hingegen eine Übereinstimmung vor, sollte die Option hostNameInCertificate nicht verwendet werden. Wenn die Eigenschaft hostNameInCertificate nicht angegeben oder auf „NULL“ festgelegt ist, verwendet der Microsoft JDBC-Treiber für SQL Server den Eigenschaftswert serverName der Verbindungs-URL als Hostnamen zur Überprüfung des TLS-/SSL-Zertifikats von SQL Server. Hinweis: Wie im vorangehenden Absatz beschrieben, sollten Sie die Option hostNameInCertificate nur dann festlegen, wenn Sie bestätigen können, dass der Name oder die Namen im Zertifikat nicht mit den Namen übereinstimmen, die an die Option serverName übergeben werden. Hinweis: Diese Eigenschaft wird in Kombination mit den Eigenschaften encrypt/authentication und der Eigenschaft trustServerCertificate verwendet. Diese Eigenschaft hat Auswirkungen auf die Zertifikatüberprüfung, wenn die Verbindung die TLS-Verschlüsselung verwendet und die Eigenschaft trustServerCertificate auf FALSE festgelegt ist. Vergewissern Sie sich, dass der an hostNameInCertificate übergebene Wert für eine erfolgreiche TLS-Verbindung dem allgemeinen Namen (CN, Common Name) oder dem DNS-Namen im alternativen Antragstellernamen (SAN, Subject Alternate Name) im Serverzertifikat entspricht. Weitere Informationen zur Verschlüsselungsunterstützung finden Sie unter Verstehen der Verschlüsselungsunterstützung. |
INSTANCENAME String [<=128 char] NULL |
Der Name der Datenbankinstanz, mit der eine Verbindung hergestellt werden soll. Ohne Angabe wird eine Verbindung zur Standardinstanz erstellt. Wenn "instanceName" und "port" angegeben werden, finden Sie nützliche Informationen in den Hinweisen für "port". Wenn Sie in der Server-Verbindungseigenschaft den Namen eines virtuellen Netzwerks angeben, kann die instanceName-Verbindungseigenschaft nicht verwendet werden. Weitere Informationen zur Notfallwiederherstellung finden Sie unter JDBC-Treiber-Unterstützung für Hochverfügbarkeit, Notfallwiederherstellung. |
integratedSecurity boolean [„true“ | „false“] false |
Wird auf „true“ festgelegt, um anzugeben, dass SQL Server in Windows-Betriebssystemen Windows-Anmeldeinformationen verwendet. Bei Festlegung auf „true“ sucht der JDBC-Treiber im Cache für Anmeldeinformationen des lokalen Computers nach Anmeldeinformationen, die bei der Anmeldung eines Benutzers beim Computer oder Netzwerk angegeben wurden. Wird auf „true“ festgelegt (mit authenticationscheme=JavaKerberos), um anzugeben, dass SQL Server Kerberos-Anmeldeinformationen verwendet. Weitere Informationen zur Kerberos-Authentifizierung finden Sie unter Herstellen von Verbindungen mit SQL Server mit der integrierten Kerberos-Authentifizierung. Wird auf „true“ festgelegt (mit authenticationscheme=NTLM), um anzugeben, dass SQL Server NTLM-Anmeldeinformationen verwendet. Falls „false“ müssen der Benutzername und das Kennwort angegeben werden. |
ipaddresspreference String [<=128 char] IPv4First |
Die von der Clientanwendung verwendete IP-Einstellung Mit IPV4First durchläuft der Treiber zuerst IPv4-Adressen. Wenn keine Verbindung mit IPv4-Adressen hergestellt werden kann, fährt der Treiber fort und versucht es mit IPv6-Adressen, falls vorhanden. Mit IPV6First durchläuft der Treiber zuerst IPv6-Adressen. Wenn keine Verbindung mit IPv6-Adressen hergestellt werden kann, fährt der Treiber fort und versucht es mit IPv4-Adressen, falls vorhanden. Mit UsePlatformDefault durchläuft der Treiber alle IP-Adressen in ihrer anfänglichen Reihenfolge aus der DNS-Auflösung. |
jaasConfigurationName String SQLJDBCDriver |
(Version 6.2 und höher) Jede Verbindung mit dem SQL Server kann über einen eigenen JAAS-Anmeldekonfigurationsnamen verfügen, um eine Kerberos-Verbindung herzustellen. Der Name der Anmeldekonfigurationsdatei kann über diese Eigenschaft übergeben werden. Diese Eigenschaft ist für die Erstellung einer Kerberos-Konfigurationsdatei vorgesehen. Standardmäßig sucht der Treiber nach dem Namen SQLJDBCDriver .Wenn keine externe Konfiguration gefunden wird, stellt der Treiber useDefaultCcache = true für IBM JVMs und useTicketCache = true für andere JVMs ein. |
keyStoreAuthentication String NULL |
(Version 6.0 und höher) Diese Eigenschaft gibt an, welcher Schlüsselspeicher mit Always Encrypted verwendet werden soll, und legt einen Authentifizierungsmechanismus fest, der zur Authentifizierung beim Schlüsselspeicher verwendet werden soll. Der Treiber unterstützt das nahtlose Einrichten des Java-Schlüsselspeichers, wenn Sie keyStoreAuthentication=JavaKeyStorePassword festlegen. Sie müssen auch die Eigenschaften keyStoreLocation und keyStoreSecret für den Java-Schlüsselspeicher festlegen, um diese Eigenschaft verwenden zu können. Weitere Informationen zu Always Encrypted finden Sie unter Verwenden von Always Encrypted mit dem JDBC-Treiber. Ab Microsoft JDBC-Treiber 8.4 können Sie für keyStoreAuthentication=KeyVaultManagedIdentity oder keyStoreAuthentication=KeyVaultClientSecret die Azure Key Vault-Authentifizierung unter Verwendung verwalteter Identitäten festlegen. Weitere Informationen zu Always Encrypted finden Sie unter Verwenden von Always Encrypted mit dem JDBC-Treiber. |
keyStoreLocation String NULL |
(Version 6.0 und höher) Bei keyStoreAuthentication=JavaKeyStorePassword gibt die Eigenschaft keyStoreLocation den Pfad zur Java-Schlüsselspeicherdatei an, die den Spaltenhauptschlüssel enthält, der für Always Encrypted-Daten verwendet werden soll. Der Pfad muss den Dateinamen des Schlüsselspeichers enthalten. Weitere Informationen zu Always Encrypted finden Sie unter Verwenden von Always Encrypted mit dem JDBC-Treiber. |
keyStorePrincipalId String NULL |
(Version 8.4 und höher) Bei keyStoreAuthentication=KeyVaultManagedIdentity gibt die Eigenschaft keyStorePrincipalId eine gültige Microsoft Entra-Anwendungsclient-ID an. Weitere Informationen zu Always Encrypted finden Sie unter Verwenden von Always Encrypted mit dem JDBC-Treiber. |
keyStoreSecret String NULL |
(Version 6.0 und höher) Bei keyStoreAuthentication=JavaKeyStorePassword gibt die Eigenschaft keyStoreSecret das Kennwort an, das sowohl für den Schlüsselspeicher als auch für den Schlüssel verwendet werden soll. Wenn man den Java Key Store verwendet, müssen der Keystore und das Schlüsselkennwort übereinstimmen. Weitere Informationen zu Always Encrypted finden Sie unter Verwenden von Always Encrypted mit dem JDBC-Treiber. |
lastUpdateCount boolean [„true“ | „false“] true |
Ein Wert „true“ gibt nur die letzte Updateanzahl aus einer an den Server übergebenen SQL-Anweisung zurück. Außerdem wird er nur für einzelne SELECT-, INSERT- oder DELETE-Anweisungen verwendet, um andere Updateanzahlen zu ignorieren, die von einem Server ausgelöst werden können. Wenn diese Eigenschaft auf „false“ festgelegt ist, werden alle Updatezählungen zurückgegeben, einschließlich der von Servertriggern. Hinweis: Diese Eigenschaft ist nur gültig, wenn sie mit den executeUpdate-Methoden verwendet wird. Alle anderen Ausführungsmethoden geben alle Ergebnisse und Updatezählungen zurück. Diese Eigenschaft betrifft nur Updatezählungen, die von Servertriggern zurückgegeben werden. Sie betrifft keine Resultsets oder Fehler, die Folge der Ausführung eines Triggers sind. |
lockTimeout INT -1 |
Die Wartezeit in Millisekunden, bevor die Datenbank ein Sperrtimeout meldet. Standardmäßig wird unbegrenzt gewartet. Wenn der Benutzer für diese Eigenschaft keinen Wert angegeben hat, wird er als Standardwert für alle Anweisungen der Verbindung verwendet. Alternativ kann Statement.setQueryTimeout() zum Festlegen des Abfragetimeouts für bestimmte Anweisungen verwendet werden. Der Wert kann auch 0 sein (keine Wartezeit). |
loginTimeout INT [0..65535] 30 (Version 11.2 und höher) 15 (Version 10.2 und niedriger) |
Die Wartezeit in Sekunden, bevor der Treiber bei einem Verbindungsfehler ein Timeout meldet. Mit dem Wert 0 wird angegeben, dass das Timeout das Standardsystemtimeout ist. Dieser Wert ist entweder 30 Sekunden (der Standardwert in Version 11.2 und höher) oder 15 Sekunden (der Standardwert in Version 10.2 und darunter). Ein Wert ungleich 0 gibt die Wartezeit in Sekunden an, bevor der Treiber bei einem Verbindungsfehler ein Timeout meldet. Wenn Sie in der Server-Verbindungseigenschaft den Namen eines virtuellen Netzwerks angeben, müssen Sie einen Timeoutwert von mindestens drei Minuten angeben, damit ausreichend Zeit für die Herstellung einer Failoververbindung vorhanden ist. Weitere Informationen zur Notfallwiederherstellung finden Sie unter JDBC-Treiber-Unterstützung für Hochverfügbarkeit, Notfallwiederherstellung. |
maxResultBuffer String NULL |
(Version 9.2 und höher) Mithilfe von maxResultBuffer kann festgelegt werden, wie viele Bytes beim Lesen eines Resultsets maximal gelesen werden. Bei keiner Angabe wird das gesamte Resultset gelesen. Es gibt zwei Möglichkeiten, die Größe anzugeben: 1. als Größe von Bytes (z. B. 100 , 150M , 300K , 400G )2. als Prozentsatz des maximalen Heapspeichers (z. B. 10p , 15pct , 20percent ) |
msiClientId String NULL |
(Veraltet) (Version 7.2+) Dies ist die Client-ID der verwalteten Identität (MSI), die zum Abrufen eines accessToken-Werts beim Herstellen einer Verbindung mit dem ActiveDirectoryManagedIdentity- oder ActiveDirectoryMSI-Authentifizierungsmodus verwendet werden soll. |
multiSubnetFailover Boolean false |
Geben Sie immer multiSubnetFailover=true an, wenn Sie eine Verbindung mit dem Verfügbarkeitsgruppenlistener einer SQL Server-Verfügbarkeitsgruppe oder einer SQL Server-Failoverclusterinstanz herstellen. multiSubnetFailover=true konfiguriert den Treiber, um eine schnellere Erkennung sowie die Verbindung mit dem (gerade) aktiven Server zu gewährleisten. Mögliche Werte sind true und false. Weitere Informationen zur Notfallwiederherstellung finden Sie unter JDBC-Treiber-Unterstützung für Hochverfügbarkeit, Notfallwiederherstellung. Sie können auf die multiSubnetFailover-Verbindungseigenschaft mit getPropertyInfo, getMultiSubnetFailover und setMultiSubnetFailover programmgesteuert zugreifen. Hinweis: Ab Microsoft JDBC-Treiber 6.0 für SQL Server ist es nicht mehr erforderlich, multiSubnetFailover auf „true“ festzulegen, um eine Verbindung mit einem Verfügbarkeitsgruppenlistener herzustellen. Die neue Eigenschaft transparentNetworkIPResolution, die standardmäßig aktiviert ist, ermöglicht die Erkennung des (gerade) aktiven Servers und die Herstellung einer Verbindung mit diesem Server. |
packetSize INT [-1 | 0 | 512..32767] 8.000 |
Die Netzwerkpaketgröße in Byte, die für die Kommunikation mit dem Server verwendet wird. Der Wert „–1“ gibt an, dass die Standardpaketgröße des Servers verwendet werden soll. Der Wert „0“ gibt an, dass der Maximalwert 32767 verwendet werden soll. Wenn diese Eigenschaft auf einen Wert außerhalb des zulässigen Bereichs festgelegt wird, wird eine Ausnahme ausgelöst. Wichtig: Das Verwenden der packetSize-Eigenschaft bei aktivierter Verschlüsselung (encrypt=true) wird nicht empfohlen. Andernfalls könnte der Treiber einen Verbindungsfehler auslösen. Weitere Informationen zu dieser Eigenschaft finden Sie unter der setPacketSize-Methode der SQLServerDataSource-Klasse. |
password String [<=128 char] NULL |
Hierbei handelt es sich um das Datenbankkennwort im Fall einer Verbindung mit SQL-Benutzer und -Kennwort. Bei Kerberos-Verbindungen mit Prinzipalname und Kennwort ist diese Eigenschaft auf das Kennwort des Kerberos-Prinzipals festgelegt. (Version 10.2 und höher) Wenn authentication=ActiveDirectoryServicePrincipal gilt, gibt die password-Eigenschaft das Kennwort an, das für den Active Directory-Prinzipal verwendet werden soll. |
portNumber, port INT [0..65535] 1433 |
Der Port, an dem der Server lauscht. Wird die Portnummer in der Verbindungszeichenfolge angegeben, erfolgt keine Anforderung an den SQL-Browser. Wenn "port" und "instanceName" angegeben werden, wird die Verbindung zum angegebenen Port hergestellt. instanceName wird jedoch überprüft. Wenn „instanceName“ und Port nicht übereinstimmen, wird ein Fehler ausgegeben. Wichtig: Es wird empfohlen, immer die Portnummer anzugeben, da dies sicherer ist als die Verwendung von SQLbrowser. |
prepareMethod String prepexec |
(Version 11.2.0+) Gibt die zugrunde liegende Vorbereitungsmethode an, die vom Treiber mit vorbereiteten Anweisungen verwendet werden soll. Legen Sie prepare fest, um sp_prepare als Vorbereitungsmethode zu verwenden. Das Festlegen von prepareMethod auf diesen Wert führt zu einem separaten, anfänglichen Trip zur Datenbank, um die Anweisung ohne Anfangswerte für die Datenbank vorzubereiten, die im Ausführungsplan berücksichtigt werden sollen. Legen Sie prepexec fest, um sp_prepexec als Vorbereitungsmethode zu verwenden. Diese Methode kombiniert die Vorbereitungsaktion mit der ersten Ausführung und reduziert dadurch Roundtrips. Außerdem stellt sie die Datenbank mit anfänglichen Parameterwerten bereit, die die Datenbank im Ausführungsplan berücksichtigen kann. |
queryTimeout INT -1 |
Die Anzahl von Sekunden, die gewartet wird, bevor ein Timeout für eine Abfrage auftritt ist. Der Standardwert lautet „-1“, d. h. ein unendliches Timeout. Wenn Sie diesen Wert auf „0“ festlegen, bedeutet dies auch, dass die Wartezeit unbegrenzt ist. |
realm String NULL |
(ab Version 9.4) Der Bereich für die Kerberos-Authentifizierung. Durch Festlegen dieses Werts wird der Kerberos-Authentifizierungsbereich überschrieben, den der Treiber automatisch im Bereich des Servers erkennt. |
Replikation boolean [„true“ | „false“] false |
(Ab Version 9.4) Diese Einstellung teilt dem Server mit, ob die Verbindung für die Replikation verwendet wird. Falls aktiviert, werden Trigger mit der Option NOT FOR REPLICATION nicht für diese Verbindung ausgelöst. |
responseBuffering String [„full“ | „adaptive“] adaptive |
Wenn diese Eigenschaft auf "adaptive" festgelegt ist, werden nach Bedarf so wenig Daten wie möglich gepuffert. Der Standardmodus lautet „adaptiv“. Wenn diese Eigenschaft auf „full“ festgelegt ist, wird das gesamte Resultset vom Server gelesen, wenn eine Anweisung ausgeführt wird. Hinweis: Nach dem Upgrade des JDBC-Treibers Version 1.2 ist „adaptiv“ das Standardpufferverhalten. Wenn Sie das Standardverhalten aus Version 1.2 in der Anwendung beibehalten möchten, legen Sie die responseBufferring-Eigenschaft entweder in den Verbindungseigenschaften oder mit der setResponseBuffering-Methode des SQLServerStatement-Objekts auf „full“ fest. |
selectMethod String [„direct“ | „cursor“] direct |
Wenn diese Eigenschaft auf "cursor" festgelegt wird, wird bei TYPE_FORWARD_ONLY- und CONCUR_READ_ONLY-Cursorn für jede Abfrage, die für die Verbindung erstellt wird, ein Datenbankcursor erstellt. Diese Eigenschaft ist normalerweise nur dann erforderlich, wenn die Anwendung umfangreiche Resultsets generiert, die nicht vollständig in den Clientspeicher übernommen werden können. Wird diese Eigenschaft auf „cursor“festgelegt, wird nur eine begrenzte Anzahl von Resultsetzeilen in den Clientspeicher übernommen. Standardmäßig werden alle Resultsetzeilen in den Clientspeicher übernommen. Dieses Verhalten weist die höchste Leistung auf, wenn die Anwendung alle Zeilen verarbeitet. |
sendStringParameters... AsUnicode boolean [„true“ | „false“] true |
Wenn die sendStringParametersAsUnicode-Eigenschaft auf „TRUE“ festgelegt ist, werden String-Parameter im Unicode-Format an den Server gesendet. Wenn die sendStringParametersAsUnicode-Eigenschaft auf „FALSE“ festgelegt ist, werden String-Parameter nicht im Unicode-Format, sondern in einem anderen Format wie ASCII/MBCS an den Server gesendet. Der Standardwert für die sendStringParametersAsUnicode-Eigenschaft lautet „TRUE“. Hinweis: Die sendStringParametersAsUnicode-Eigenschaft ist nur aktiviert, um einen Parameterwert mit den JDBC-Typen CHAR, VARCHAR oder LONGVARCHAR zu senden. Die neuen JDBC 4.0-Methoden für nationale Zeichensätze beinhalten Methoden wie „setNString“, „setNCharacterStream“ und „setNClob“ der Klassen SQLServerPreparedStatement und SQLServerCallableStatement. Diese Methoden senden ihre Parameterwerte unabhängig von der Einstellung dieser Eigenschaft immer in Unicode an den Server. Zur Erzielung einer optimalen Leistung mit den JDBC-Datentypen CHAR, VARCHAR und LONGVARCHAR sollte in einer Anwendung die sendStringParametersAsUnicode-Eigenschaft auf „FALSE“ festgelegt werden, und die Methoden für nicht nationale Zeichensätze setString, setCharacterStream und setClob der SQLServerPreparedStatement- und SQLServerCallableStatement-Klasse sollten verwendet werden. Wenn die sendStringParametersAsUnicode-Eigenschaft in der Anwendung auf FALSE festgelegt und eine Methode für nicht nationale Zeichensätze für den Zugriff auf Unicode-Datentypen auf Serverseite verwendet wird (z. B. nchar, nvarchar und ntext), gehen möglicherweise Daten verloren, wenn die Datenbanksortierung die von der Methode für nicht nationale Zeichensätze in den String-Parametern übergebenen Zeichen nicht unterstützt. Eine Anwendung sollte die setNString-, setNCharacterStream- und setNClob-Methoden für nationale Zeichensätze der Klassen SQLServerPreparedStatement und SQLServerCallableStatement für die JDBC-Datentypen NCHAR, NVARCHAR und LONGNVARCHAR verwenden. Das Ändern dieses Werts kann sich auf die Sortierung von Ergebnissen aus der Datenbank auswirken. Die Sortierunterschiede sind auf unterschiedliche Sortierregeln für Unicode- und Nicht-Unicode-Zeichen zurückzuführen. |
sendTemporalDataTypes... AsStringForBulkCopy boolean [„true“ | „false“] true |
(Version 8.4 und höher) Wenn diese Verbindungseigenschaft auf „false“ festgelegt ist, werden die Datentypen DATE, DATETIME, DATIMETIME2, DATETIMEOFFSET, SMALLDATETIME und TIME in Form ihrer jeweiligen Datentypen und nicht als Zeichenfolgen gesendet. Wenn diese Verbindungseigenschaft auf FALSE festgelegt ist, akzeptiert der Treiber für jeden temporalen Datentyp das Standardformat des Zeichenfolgenliterals. Beispiel: DATE: 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 TIME: hh:mm:ss[.nnnnnnn] |
sendTimeAsDatetime boolean [„true“ | „false“] true |
Diese Eigenschaft wurde in SQL Server JDBC Driver 3.0 hinzugefügt. Bei Festlegung auf „true“ werden java.sql.Time-Werte als datetime-Typen von SQL Server an den Server zurückgegeben. Bei Festlegung auf „false“ werden java.sql.Time-Werte als time-Typen von SQL Server an den Server zurückgegeben. Der Standardwert für diese Eigenschaft lautet zurzeit „true“, dies kann sich in künftigen Versionen ändern. Weitere Informationen darüber, wie Microsoft JDBC-Treiber für SQL Server java.sql.Time-Werte vor dem Senden an den Server konfiguriert, finden Sie unter Konfigurieren der Art und Weise, wie java.sql.Time-Werte an den Server gesendet werden. |
serverCertificate, server String NULL |
(Version 11.2.0+) Der Pfad zur Serverzertifikatsdatei. Wird zur Überprüfung verwendet, wenn encrypt auf strict festgelegt ist. Der Treiber unterstützt Zertifikatdateien im PEM-Dateiformat. |
serverName, server String NULL |
Der Computer, auf dem SQL Server oder eine Azure SQL-Datenbank ausgeführt wird. Sie können auch den Namen des virtuellen Netzwerks für eine Verfügbarkeitsgruppe angeben. Weitere Informationen zur Notfallwiederherstellung finden Sie unter JDBC-Treiber-Unterstützung für Hochverfügbarkeit, Notfallwiederherstellung. |
serverNameAsACE boolean [„true“ | „false“] false |
(Version 6.0 und höher) Legen Sie die Eigenschaft auf „true“ fest, um anzugeben, dass der Treiber für die Verbindung den Namen des Unicode-Servers in eine ASCII-kompatible Codierung (Punycode) übersetzen soll. Wenn diese Einstellung „false“ ist, verwendet der Treiber den Servernamen wie angegeben, um eine Verbindung herzustellen. Weitere Informationen zu internationalen Funktionen finden Sie unter Internationale Funktionen des JDBC-Treibers. |
serverPreparedStatement... DiscardThreshold Integer 10 |
(Version 6.2 und höher) Mit dieser Eigenschaft kann gesteuert werden, wie viele ausstehende Aktionen zum Verwerfen von vorbereiteten Anweisungen (sp_unprepare ) pro Verbindung vorhanden sein dürfen, bevor ein Aufruf zum Bereinigen der ausstehenden Handles auf dem Server ausgeführt wird. Wenn diese Eigenschaft auf <= 1 festgelegt ist, werden Aktionen zum Aufheben der Vorbereitung sofort nach Abschluss der vorbereiteten Anweisung ausgeführt. Wenn die Eigenschaft auf > 1 festgelegt wird, werden diese Aufrufe in einem Batch zusammengefasst, um den Aufwand eines zu häufigen Aufrufs von sp_unprepare zu vermeiden. |
serverSpn String NULL |
(Version 4.2 und höher) Mit dieser optionalen Eigenschaft kann der Dienstprinzipalnamen (Service Principal Name, SPN) für eine Java-Kerberos-Verbindung angegeben werden. Sie wird mit authenticationScheme verwendet. Der SPN kann in der Form „MSSQLSvc/fqdn:port@REALM“ angegeben werden, wobei „fqdn“ den vollqualifizierten Domänennamen, „Port“ die Portnummer und „REALM“ den Kerberos-Bereich des SQL Server-Computers in Großbuchstaben darstellen. Hinweis: Die Angabe „@REALM“ ist optional, wenn der Standardbereich des Clients (gemäß Angabe in der Kerberos-Konfiguration) mit dem Kerberos-Bereich des SQL Server-Computers übereinstimmt. Weitere Informationen zum Verwenden von serverSpn mit Java Kerberos finden Sie unter Herstellen von Verbindungen mit SQL Server mit der integrierten Kerberos-Authentifizierung. |
socketFactoryClass String NULL |
(Version 8.4 und höher) Gibt den Klassennamen für eine benutzerdefinierte Socketfactory an, die anstelle der Standardsocketfactory verwendet werden soll. |
socketTimeout INT 0 |
Die Anzahl von Millisekunden, die gewartet wird, bevor ein Timeout für einen Vorgang zum Lesen oder Akzeptieren eines Sockets auftritt. Der Standardwert lautet „0“, d. h. ein unendliches Timeout. |
statementPooling... CacheSize INT 0 |
(Version 6.4 und höher) Mit dieser Eigenschaft kann das Zwischenspeichern von Handles für vorbereitete Anweisungen im Treiber ermöglicht werden. Diese Eigenschaft definiert die Größe des Caches für das Anweisungspooling. Diese Eigenschaft kann nur mit der Verbindungseigenschaft disableStatementPooling verwendet werden, die auf „false“ festgelegt werden sollte. Das Festlegen von disableStatementPooling auf „true“ oder das Festlegen von statementPoolingCacheSize auf 0 deaktiviert das Zwischenspeichern von Handles für vorbereitete Anweisungen. |
sslProtocol String TLS |
(Version 6.4 und höher) Mit dieser Eigenschaft kann das TLS-Protokoll angegeben werden, das bei sicheren Verbindungen berücksichtigt werden soll. Mögliche Werte: TLS, TLSv1, TLSv1.1 und TLSv1.2. Weitere Informationen zum Secure Sockets Layer-Protokoll finden Sie unter SSLProtocol. |
transparentNetwork... IPResolution boolean [„true“ | „false“] true |
(Version 6.0 und höher) Diese Eigenschaft gewährleistet eine schnellere Erkennung und Verbindung mit dem (gerade) aktiven Server. Mögliche Werte sind „true“ und „false“, wobei „true“ der Standardwert ist. Vor dem Microsoft JDBC-Treiber 6.0 für SQL Server musste eine Anwendung „multiSubnetFailover=true“ in die Verbindungszeichenfolge einschließen, um anzugeben, dass eine Verbindung mit einer Always-On-Verfügbarkeitsgruppe hergestellt wurde. Wenn das Verbindungsschlüsselwort multiSubnetFailover nicht auf „true“ festgelegt wird, kann bei der Verbindung mit einer Always-On-Verfügbarkeitsgruppe ein Timeout in der Anwendung auftreten. Ab Version 6.0 muss eine Anwendung „multiSubnetFailover“ nicht mehr auf „true“ festlegen. Hinweis: Bei „transparentNetworkIPResolution=true“ verwendet der erste Verbindungsversuch 500 ms als Timeout. Alle nachfolgenden Versuche verwenden dieselbe Timeoutlogik wie die multiSubnetFailover-Eigenschaft. |
trustManagerClass String NULL |
(Version 6.4 und höher) Der vollqualifizierte Klassenname einer benutzerdefinierten javax.net.ssl.TrustManager -Implementierung. |
trustManager... ConstructorArg String NULL |
(Version 6.4 und höher) Ein optionales Argument, das an den Konstruktor des Trust-Managers übergeben wird. Wenn die Eigenschaft trustManagerClass angegeben ist und eine verschlüsselte Verbindung angefordert wird, wird nicht der auf dem JVM-Schlüsselspeicher basierende Standard-Trust-Manager des Systems verwendet, sondern der benutzerdefinierte Trust-Manager. |
trustServerCertificate boolean [„true“ | „false“] false |
Bei Festlegung auf „true“ überprüft der Treiber das TLS-/SSL-Serverzertifikat nicht. Bei „true“ wird dem TLS-/SSL-Serverzertifikat automatisch vertraut, wenn die Kommunikationsebene über TLS verschlüsselt ist. Bei „false“ überprüft der Treiber das TLS-/SSL-Serverzertifikat. Wenn bei der Überprüfung des Serverzertifikats ein Fehler auftritt, löst der Treiber einen Fehler aus und trennt die Verbindung. Der Standardwert ist FALSE. Vergewissern Sie sich, dass der an serverName übergebene Wert für eine erfolgreiche TLS-/SSL-Verbindung exakt dem allgemeinen Namen (CN, Common Name) oder dem DNS-Namen im alternativen Antragstellernamen (SAN, Subject Alternate Name) im Serverzertifikat entspricht. Weitere Informationen zur Verschlüsselungsunterstützung finden Sie unter Verstehen der Verschlüsselungsunterstützung. Hinweis: Diese Eigenschaft wird in Kombination mit den Eigenschaften encrypt/authentication verwendet. Diese Eigenschaft hat nur dann Auswirkungen auf die Überprüfung des TLS-/SSL-Serverzertifikats, wenn die Verbindung die TLS-Verschlüsselung verwendet. |
trustStore String NULL |
Der Pfad (einschließlich Dateiname) zur trustStore-Zertifikatsdatei. Die trustStore-Datei enthält die Liste der Zertifikate, denen der Client vertraut. Wenn diese Eigenschaft nicht angegeben oder auf NULL festgelegt ist, verwendet der Treiber die Suchregeln der Trust-Manager-Factory, um den zu verwendenden Zertifikatspeicher zu ermitteln. Die Standard-SunX509 TrustManagerFactory versucht, die vertrauenswürdigen Informationen in der folgenden Suchreihenfolge zu suchen: Eine von der JVM-Systemeigenschaft „javax.net.ssl.trustStore“ angegebene Datei <java-home>/lib/security/jssecacerts -Datei.<java-home>/lib/security/cacerts -Datei.Weitere Informationen finden Sie in der Dokumentation zur SUNX509 TrustManager-Schnittstelle auf der Website von Sun Microsystems. Hinweis: Diese Eigenschaft hat nur dann Auswirkungen auf die trustStore-Zertifikatsuche, wenn die Verbindung die TLS-Verschlüsselung verwendet und die Eigenschaft trustServerCertificate auf FALSE festgelegt ist. |
trustStorePassword String NULL |
Das Kennwort, das zum Überprüfen der Integrität der trustStore-Daten verwendet wird. Wenn die trustStore-Eigenschaft festgelegt ist, die trustStorePassword-Eigenschaft jedoch nicht festgelegt wurde, wird die Integrität von trustStore nicht überprüft. Wenn die trustStore-Eigenschaft und die trustStorePassword-Eigenschaft nicht angegeben wurden, verwendet der Treiber die JVM-Systemeigenschaften „javax.net.ssl.trustStore“ und „javax.net.ssl.trustStorePassword“. Wenn die Systemeigenschaft „javax.net.ssl.trustStorePassword“ nicht angegeben wird, wird die Integrität von trustStore nicht überprüft. Wenn der Benutzer nicht die Eigenschaft „trustStore“, aber die Eigenschaft „trustStorePassword“ festlegt, verwendet der JDBC-Treiber die Datei, die der „javax.net.ssl.trustStore“ als Vertrauensspeicher angibt. Darüber hinaus überprüft der Treiber die Integrität des Vertrauensspeichers anhand des angegebenen „trustStorePassword“. Diese Einstellung ist erforderlich, wenn in der Clientanwendung das Kennwort nicht in der JVM-Systemeigenschaft gespeichert werden soll. Hinweis: Die trustStorePassword-Eigenschaft hat nur dann Auswirkungen auf die trustStore-Zertifikatsuche, wenn die Verbindung die TLS-Verschlüsselung verwendet und die Eigenschaft trustServerCertificate auf „false“ festgelegt ist. |
trustStoreType String JKS |
Legen Sie diese Eigenschaft fest, um den Vertrauensspeichertyp anzugeben, der für den FIPS-Modus verwendet werden soll. Mögliche Werte sind PKCS12 oder ein vom FIPS-Anbieter definierter Typ. |
useBulkCopyFor... BatchInsert boolean [„true“ | „false“] false |
(Version 9.2 und höher) Diese Verbindungseigenschaft kann aktiviert werden, um die Massenkopier-API transparent zu verwenden, wenn Batcheinfügevorgänge mithilfe von java.sql.PreparedStatement ausgeführt werden. Dieses Feature bietet bei Aktivierung potenziell eine höhere Leistung. Dieses Feature ist standardmäßig deaktiviert. Legen Sie diese Eigenschaft auf „true“ fest, um das Feature zu aktivieren. Wichtiger Hinweis: Dieses Feature unterstützt nur vollständig parametrisierte INSERT-Abfragen. Wenn INSERT-Abfragen mit anderen SQL-Abfragen kombiniert werden oder Daten in Werten enthalten, erfolgt die Ausführung wieder mit den einfachen Batcheinfügevorgängen. Weitere Informationen zur Verwendung dieser Eigenschaft finden Sie unter Verwenden der Massenkopieren-API für den Batcheinfügevorgang. |
useDefaultGSSCredential boolean [„true“ | „false“] false |
(Version 12.6+) Flag, das angibt, ob der Treiber das GSSCredential im Namen des Benutzers für die Verwendung der nativen GSS-API für die Kerberos-Authentifizierung erstellen soll. |
useDefaultJaasConfig boolean [„true“ | „false“] false |
(Version 12.6+) Wenn die Anwendung zusammen mit Bibliotheken vorhanden ist, die JAAS auf Systemebene konfigurieren, ermöglicht das Festlegen dieser Eigenschaft auf „true“, dass der Treiber dieselbe Konfiguration zum Ausführen der Kerberos-Authentifizierung verwendet. |
useFmtOnly boolean [„true“ | „false“] false |
(Version 7.4 und höher) Bietet eine alternative Möglichkeit zum Abfragen von Parametermetadaten vom Server. Legen Sie diese Eigenschaft auf „true“ fest, um anzugeben, dass der Treiber beim Abfragen von Parametermetadaten die SET FMTONLY -Logik verwenden soll. Dieses Feature ist standardmäßig deaktiviert, und die Verwendung dieser Eigenschaft wird nicht empfohlen, da SET FMTONLY als veraltet markiert ist. useFmtOnly wird nur als Problemumgehung für bekannte Probleme und Einschränkungen in sp_describe_undeclared_parameters zur Verfügung gestellt.Dieses Feature unterstützt derzeit nur einzelne SELECT/INSERT/UPDATE/DELETE -Abfragen. Wenn Sie dieses Feature mit nicht unterstützten oder mehreren Abfragen verwenden, versucht der Treiber, die jeweilige Abfrage zu analysieren. Dies führt aber höchstwahrscheinlich zu einer Ausnahme.Weitere Informationen zu dieser Eigenschaft finden Sie unter Abrufen von ParameterMetaData über useFmtOnly. |
userName, user String [<=128 char] NULL |
Hierbei handelt es sich um den Datenbankbenutzer im Fall einer Verbindung mit SQL-Benutzer und -Kennwort. Bei Kerberos-Verbindungen mit Prinzipalname und Kennwort ist diese Eigenschaft auf den Namen des Kerberos-Prinzipals festgelegt. (Version 10.2 und höher) Wenn authentication=ActiveDirectoryServicePrincipal gilt, gibt die userName-Eigenschaft eine gültige sichere Client-ID für Azure Active Directory an. |
workstationID String [<=128 char] <empty string> |
Die ID der Arbeitsstation. Mit dieser Eigenschaft wird die jeweilige Arbeitsstation in verschiedenen Profilerstellungs- und Protokollierungstools angegeben. Wenn nicht angegeben, wird der <empty string> verwendet. |
xopenStates boolean [„true“ | „false“] false |
Legen Sie diese Eigenschaft auf "true" fest, um anzugeben, dass der Treiber in Ausnahmen XOPEN-kompatible Statuscodes zurückgibt. Standardmäßig werden SQL 99-Statuscodes zurückgegeben. |
Hinweis
Microsoft JDBC-Treiber für SQL Server akzeptiert die standardmäßigen Serverwerte für Verbindungseigenschaften, außer „ANSI_DEFAULTS“ und „IMPLICIT_TRANSACTIONS“. Microsoft JDBC-Treiber für SQL Server legt „ANSI_DEFAULTS“ automatisch auf „ON“ und „IMPLICIT_TRANSACTIONS“ automatisch auf „OFF“ fest.
Wichtig
Wenn die Authentifizierung auf „ActiveDirectoryPassword“ festgelegt ist, muss die folgende Bibliothek in den Klassenpfad eingeschlossen werden: microsoft-authentication-library-for-java. Sie finden diese im Maven-Repository. Die einfachste Möglichkeit, die Bibliothek und die zugehörigen Abhängigkeiten herunterzuladen, ist die Verwendung von Maven:
- Installieren Sie Maven auf Ihrem System.
- Wechseln Sie zur GitHub-Seite des Treibers.
- Laden Sie die Datei „pom.xml“ herunter.
- Führen Sie den folgenden Maven-Befehl aus, um die Bibliothek und ihre Abhängigkeiten herunterzuladen:
mvn dependency:copy-dependencies