Définir les propriétés de connexion

Télécharger le pilote JDBC

Vous pouvez spécifier les propriétés chaîne de connexion de différentes façons :

Remarques

  • Les noms de propriété sont insensibles à la casse. Le driver résout les noms de propriétés en double dans l'ordre suivant :

    1. Arguments d’API, tels que user et password
    2. Collection de propriétés
    3. Dernière instance de la chaîne de connexion
  • Vous pouvez utiliser des valeurs inconnues pour les noms de propriétés. Le pilote JDBC ne valide pas la sensibilité de la casse.

  • Vous pouvez utiliser des synonymes. Le pilote les résout dans l’ordre, de la même manière qu’avec les noms de propriétés dupliqués.

  • Le pilote JDBC Microsoft pour SQL Server prend les valeurs par défaut du serveur pour les propriétés de connexion, à l’exception de ANSI_DEFAULTS et IMPLICIT_TRANSACTIONS. Le pilote JDBC Microsoft pour SQL Server définit automatiquement ANSI_DEFAULTS sur ON et IMPLICIT_TRANSACTIONS sur OFF.

  • Si vous définissez l'authentification sur ActiveDirectoryPassword [DEPRECATED], incluez la bibliothèque suivante dans le classpath : microsoft-authentication-library-for-java. Recherchez-le dans le référentiel Maven. Le plus simple pour télécharger la bibliothèque et ses dépendances consiste à utiliser Maven :

    1. Installez Maven sur votre système.
    2. Accédez à la page GitHub du pilote.
    3. Téléchargez le pom.xml fichier.
    4. Exécutez la commande Maven suivante pour télécharger la bibliothèque et ses dépendances : mvn dependency:copy-dependencies.

Propriétés

Les sections suivantes décrivent toutes les propriétés chaîne de connexion actuellement disponibles pour le pilote JDBC.

accessToken

  • Type : String
  • Par défaut : null

(Version 6.0+) Utilisez cette propriété pour vous connecter à une base de données à l’aide d’un jeton d’accès. Vous ne pouvez pas définir accessToken à l’aide de l’URL de connexion.

accessTokenCallbackClass

  • Type : String
  • Par défaut : null

(Version 12.4+) Nom de la classe d’implémentation de callback à utiliser avec le jeton d’accès.

applicationIntent

  • Type : String
  • Par défaut : ReadWrite

(Version 6.0+) Déclare le type de la charge de travail de l’application pour se connecter à un serveur.

Les valeurs possibles sont ReadOnly et ReadWrite.

Pour plus d’informations sur la reprise d’activité, consultez Prise en charge de la haute disponibilité et de la reprise d’activité par le pilote JDBC.

applicationName

  • Type : String [<=128 char]
  • Par défaut : null

Nom de l'application ou « Microsoft pilote JDBC pour SQL Server » si vous ne fournissez pas de nom.

Utilisez ce nom pour identifier l’application spécifique dans différents outils de profilage et de journalisation SQL Server.

authentification

  • Type : String
  • Par défaut : NotSpecified

(Version 6.0+) Cette propriété facultative indique la méthode d’authentification à utiliser pour la connexion.

Les valeurs possibles sont ActiveDirectoryIntegrated, (version 12.2+), ActiveDirectoryManagedIdentity (version 7.2+), ActiveDirectoryMSI (version 9.2+), ActiveDirectoryInteractive (version 9.2+), ActiveDirectoryServicePrincipalActiveDirectoryPassword [DEPRECATED]et la valeur par défaut SqlPasswordNotSpecified .

Utilisez ActiveDirectoryIntegrated (version 6.0+) pour vous connecter à SQL à l’aide de l'authentification Windows intégrée.

Utilisez ActiveDirectoryManagedIdentity (version 12.2+) ou ActiveDirectoryMSI (version 7.2+) pour vous connecter à SQL à partir d’une ressource Azure. Par exemple, une machine virtuelle Azure, un service d'application ou une application fonction utilisant l'authentification par identité managée.

Les deux types d’identités managées prises en charge par le pilote lors de l’utilisation ActiveDirectoryManagedIdentity ou ActiveDirectoryMSI du mode d’authentification sont les suivants :

  • System-Assigned Identité managée : utilisée pour acquérir accessToken par défaut.

  • Identité gérée attribuée par l'utilisateur : utilisée pour acquérir accessToken si l’ID client d’une identité gérée est spécifié avec la msiClientId propriété de connexion.

Permet ActiveDirectoryInteractive de se connecter à une base de données à l’aide d’un flux d’authentification interactif.

Utilisez ActiveDirectoryServicePrincipal (version 9.2+) pour vous connecter à une base de données à l’aide de l’ID client et du secret d’une identité de principal de service. Spécifiez l’ID client dans la propriété userName et le secret dans la propriété password (10.2+).

Utilisez ActiveDirectoryServicePrincipalCertificate (version 12.4+) pour vous connecter à une base de données à l’aide de l’ID client et du certificat d’une identité de principal de service. Spécifiez l’ID client dans la userName propriété et le chemin d’accès au certificat dans la clientCertificate propriété.

Pour plus d’options, consultez Se connecter à l’aide du mode d’authentification ActiveDirectoryServicePrincipalCertificate.

Utilisez ActiveDirectoryPassword [DEPRECATED] pour vous connecter à SQL à l’aide d’un nom de principal et d’un mot de passe Microsoft Entra.

ActiveDirectoryPassword est déconseillé.

Pour plus d’informations, consultez Se connecter à l’aide du mode d’authentification ActiveDirectoryPassword.

Utilisez SqlPassword pour se connecter à SQL utilisant userName/user et password propriétés.

Utilisez NotSpecified si aucune de ces méthodes d’authentification n’est nécessaire.

Importante

Si l’authentification est définie sur ActiveDirectoryIntegrated, les deux bibliothèques suivantes doivent être installées : mssql-jdbc_auth-<version>-<arch>.dll (disponible dans le package de pilotes JDBC) et Microsoft Authentication Library pour SQL Server (ADAL.DLL). Microsoft Authentication Library peut être installé à partir de Download ODBC Driver for SQL Server ou Download Microsoft OLE DB Driver pour SQL Server. Le pilote JDBC ne prend en charge que les versions 1.0.2028.318 et ultérieures d’ADAL.DLL.

Lorsque vous définissez la propriété d’authentification sur n’importe quelle valeur autre que NotSpecified, le pilote utilise le protocole TLS (Transport Layer Security), précédemment appelé SSL (Secure Sockets Layer), le chiffrement par défaut.

Pour plus d’informations sur la configuration de l’authentification Microsoft Entra, consultez Microsoft Entra l’authentification pour Azure SQL.

authenticationScheme

  • Type : String
  • Par défaut : NativeAuthentication

Indique le genre de sécurité intégrée que votre application doit utiliser.

Les valeurs possibles sont JavaKerberos, NTLM (version 7.4+) et la valeur par défaut NativeAuthentication.

NativeAuthentication entraîne le chargement du pilote mssql-jdbc_auth-<version>-<arch>.dll (par exemple, mssql-jdbc_auth-8.2.2.x64.dll) sur Windows, qui est utilisé pour obtenir des informations d’authentification intégrées.

(La bibliothèque d’authentification native chargée est nommée sqljdbc_auth.dll lors de l’utilisation des versions 6.0 à 7.4.)

Lorsque vous utilisez authenticationScheme=JavaKerberos, vous devez spécifier le nom de domaine pleinement qualifié (FQDN) dans la propriété serverName ou serverSpn. Sinon, une erreur se produit (serveur introuvable dans la base de données Kerberos).

Pour plus d’informations sur l’utilisation de authenticationScheme=JavaKerberos, consultez Utilisant l’authentification intégrée Kerberos pour se connecter à SQL Server.

Lorsque vous utilisez authenticationScheme=NTLM, vous devez spécifier le domaine Windows à l’aide de la propriété domain ou domainName, des informations d’identification Windows dans la propriété user ou userName et de la propriété password. Sinon, une erreur se produit (les propriétés de connexion doivent être spécifiées).

bulkCopyForBatchInsertAllowEncryptedValueModifications

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.10+) Lorsque vous définissez useBulkCopyForBatchInsert à true, définissez cette option sur true pour activer la copie en bloc de données chiffrées entre les tables ou les bases de données, sans déchiffrer les données.

Pour obtenir plus d’informations et d’avertissements sur l’utilisation de cette propriété, consultez l’option allowEncryptedValueModifications dans SQLServerBulkCopyOptions.

bulkCopyForBatchInsertBatchSize

  • Type : int
  • Par défaut : 0

(Version 12.10+) Lorsque vous définissez useBulkCopyForBatchInsert sur true, cette propriété spécifie la taille du lot pour les opérations de copie en bloc que le pilote crée à partir des opérations d’insertion par lots.

Pour plus d’informations sur les effets de ce paramètre, consultez l’option BatchSize dans SQLServerBulkCopyOptions.

bulkCopyForBatchInsertCheckConstraints

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.10+) Lorsque vous utilisez useBulkCopyForBatchInsert=true, définissez cette option sur true pour activer les contraintes de vérification lors de l’insertion de données. Définissez cette option sur false pour désactiver les contraintes de vérification.

Pour plus d’informations sur les effets de ce paramètre, consultez l’option CheckConstraints dans SQLServerBulkCopyOptions.

bulkCopyForBatchInsertFireTriggers

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.10+) Lorsque vous utilisez useBulkCopyForBatchInsert=true, définissez cette option à true afin d'activer le déclenchement des déclencheurs d’insertion lors de l’insertion de lignes dans la base de données. Définissez cette option pour désactiver false les déclencheurs d'insertion.

Pour plus d’informations sur les effets de ce paramètre, consultez l’option FireTriggers dans SQLServerBulkCopyOptions.

bulkCopyForBatchInsertKeepIdentity

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.10+) Lorsque vous utilisez useBulkCopyForBatchInsert=true, définissez cette option sur true pour conserver les valeurs d’identité source lors de l’insertion de données. Définissez l’option à false pour attribuer des valeurs d’identité par la destination.

Pour plus d’informations sur les effets de ce paramètre, consultez l’option KeepIdentity dans SQLServerBulkCopyOptions.

bulkCopyForBatchInsertKeepNulls

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.10+) Lorsque vous utilisez useBulkCopyForBatchInsert=true, définissez cette option pour true conserver les valeurs Null dans la table de destination, quels que soient les paramètres de valeur par défaut. Définissez cette option pour false permettre aux valeurs par défaut de destination de remplacer les valeurs Null.

Pour plus d’informations sur les effets de ce paramètre, consultez l’option KeepNulls dans SQLServerBulkCopyOptions.

bulkCopyForBatchInsertTableLock

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.10+) Lorsque vous définissez useBulkCopyForBatchInsert à true, définissez cette option à true pour obtenir un verrou de mise à jour en bloc pendant l’opération de copie en bloc. Définissez cette option à false pour utiliser des verrous de ligne.

Pour plus d’informations sur les effets de ce paramètre, consultez l’option TableLock dans SQLServerBulkCopyOptions.

cacheBulkCopyMetadata

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.8+) Lors de l’utilisation useBulkCopyForBatchInsert=true, cette propriété indique au pilote s’il doit mettre en cache les métadonnées de colonne de destination au niveau de la connexion. Si cette valeur est définie sur true, assurez-vous que la destination ne change pas entre les insertions en bloc, car le pilote n’a pas de moyen de gérer cette modification.

calcBigDecimalPrecision

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.6+) Indicateur pour indiquer si le pilote doit calculer la précision pour les entrées BigDecimal, par opposition à l’utilisation de la valeur maximale autorisée pour la précision (38).

cancelQueryTimeout

  • Type : int
  • Par défaut : -1

(Version 6.4+) Utilisez cette propriété pour annuler un ensemble queryTimeout sur la connexion. L’exécution de la requête cesse de répondre et ne génère pas d’exception si la connexion TCP au serveur est annulée en mode silencieux. Cette propriété s'applique uniquement si elle est également définie sur la connexion de queryTimeout.

Le pilote attend la quantité totale de cancelQueryTimeout + queryTimeout secondes, pour supprimer la connexion et fermer le canal.

La valeur par défaut de cette propriété est -1 et le comportement consiste à attendre indéfiniment.

clientCertificate

  • Type : String
  • Par défaut : null

(Version 8.4+) Spécifie l’emplacement du certificat à utiliser pour l’authentification par certificat client. Le pilote JDBC prend en charge les extensions de fichier PFX, PEM, DER et CER.

Pour plus d’informations, consultez Authentification par certificat client pour les scénarios de bouclage.

clientKey

  • Type : String
  • Par défaut : null

(Version 8.4+) Spécifie l’emplacement de la clé privée pour les certificats PEM, DER et CER spécifiés par l’attribut clientCertificate .

Pour plus d’informations, consultez Authentification par certificat client pour les scénarios de bouclage.

clientKeyPassword

  • Type : String
  • Par défaut : null

(Version 8.4+) Spécifie la chaîne de mot de passe facultative pour accéder à la clientKey clé privée du fichier.

Pour plus d’informations, consultez Authentification par certificat client pour les scénarios de bouclage.

paramètreDeChiffrementDeColonne

  • Type : String [Enabled | Disabled]
  • Par défaut : Disabled

(Version 6.0+) Définissez Enabled pour utiliser la fonctionnalité Always Encrypted (AE). Quand la fonctionnalité AE est activée, le pilote JDBC chiffre et déchiffre de manière transparente les données sensibles stockées dans des colonnes de base de données chiffrées sur le serveur.

Pour plus d’informations sur Always Encrypted, consultez Utiliser Always Encrypted avec le pilote JDBC.

Note

Always Encrypted est disponible avec SQL Server 2016 ou version ultérieure et Azure SQL Database.

concatNullYieldsNull

  • Type : String [ON | OFF]
  • Par défaut : ON

(Version 13.2+) Lorsque vous définissez cette option sur OFF, le pilote définit la variable de session de base de données CONCAT_NULL_YIELDS_NULL sur OFF lorsqu’il établit la connexion. Le résultat est que la concaténation d’une valeur Null avec une chaîne génère la chaîne elle-même (la valeur null est traitée comme une chaîne vide).

Pour plus d’informations, voir SET CONCAT_NULL_YIELDS_NULL.

connectRetryCount

  • Type : int [0..255]
  • Par défaut : 1

(Version 9.4+) Nombre de nouvelles tentatives de connexion en cas d’échec de connexion.

connectRetryInterval

  • Type : int [1..60]
  • Par défaut : 10

(Version 9.4+) Nombre de secondes entre les nouvelles tentatives de connexion.

databaseName, base de données

  • Type : String [<=128 char]
  • Par défaut : null

Nom de la base de données à laquelle se connecter.

Si vous ne spécifiez pas de nom de base de données, la connexion utilise la base de données par défaut.

datetimeParameterType

  • Type : String [datetime | datetime2 | datetimeoffset]
  • Par défaut : datetime2

(Version 12.2+) Type de données SQL à utiliser pour Java paramètres de date et d’horodatage.

Lorsque vous vous connectez à SQL Server version 2016 ou ultérieure et que vous interagissez avec les valeurs héritées datetime, définissez cette propriété sur datetime. Ce paramètre atténue les problèmes de conversion côté serveur entre datetime et datetime2 valeurs.

Pour plus d’informations, consultez Addressing datetime to datetime2 conversion change à partir de SQL Server 2016.

delayLoadingLobs

  • Type : Boolean [true | false]
  • Par défaut : true

Indicateur pour déterminer s’il faut diffuser tous les objets LOB récupérés à partir du ResultSet. Définir cette propriété sur false charge l’ensemble de l’objet LOB en mémoire sans utiliser le streaming.

disableStatementPooling

  • Type : Boolean [true | false]
  • Par défaut : true

Indicateur qui indique si le regroupement d’instructions doit être utilisé.

domainName, domaine

  • Type : String
  • Par défaut : null

(Version 7.4+) Le domaine Windows à authentifier lors de l’utilisation de l’authentification NTLM.

enablePrepareOnFirstPreparedStatementCall

  • Type : Boolean [true | false]
  • Par défaut : false

Définissez true pour activer la création du handle d'une instruction préparée en appelant sp_prepexec lors de la première exécution d’une instruction préparée.

Définir false afin que la première exécution d'une instruction préparée appelle sp_executesql et ne prépare pas l’instruction. Si une deuxième exécution se produit, elle appelle sp_prepexec pour configurer un descripteur d’instruction préparée.

enclaveAttestationProtocol

  • Type : String
  • Par défaut : null

(Version 8.2+) Cette propriété facultative indique le protocole d’attestation à utiliser pour Always Encrypted avec enclaves sécurisées. Actuellement, les seules valeurs prises en charge pour ce champ sont HGS, AASet NONE (NONE est uniquement prise en charge dans la version 11.2+).

Pour plus d’informations sur Always Encrypted avec enclaves sécurisées, consultez Utilisation d’Always Encrypted avec enclaves sécurisées avec le pilote JDBC.

enclaveAttestationUrl

  • Type : String
  • Par défaut : null

(Version 8.2+) Cette propriété facultative indique l’URL de point de terminaison du service d’attestation à utiliser pour Always Encrypted avec enclaves sécurisées.

Pour plus d’informations sur Always Encrypted avec enclaves sécurisées, consultez Utilisation d’Always Encrypted avec enclaves sécurisées avec le pilote JDBC.

chiffrer

  • Type : String
  • Par défaut : null

Défini sur true pour spécifier que le Moteur de base de données SQL utilise le chiffrement TLS pour toutes les données envoyées entre le client et le serveur si un certificat est installé. La valeur par défaut est true dans la version 10.2 et ultérieure et false dans la version 9.4 et antérieure.

Dans la version 6.0 et ultérieure, il existe un nouveau paramètre authentication de connexion qui utilise le chiffrement TLS par défaut.

Pour plus d’informations sur cette propriété, consultez la authentication propriété.

Dans la version 11.2.0 et ultérieure, le encrypt a été remplacé de Boolean par string, ce qui permet la prise en charge de TDS 8.0 lorsque la propriété est définie sur strict.

La modification par défaut dans la version 10.2 est un changement de rupture. Si vous effectuez une mise à niveau à partir de la version 9.4 ou antérieure et que votre serveur n’a pas de certificat TLS valide, définissez trustServerCertificate sur true ou fournissez un certificat valide.

failoverPartner

  • Type : String
  • Par défaut : null

Nom du serveur de basculement utilisé dans la configuration de la mise en miroir de bases de données. Cette propriété est utilisée en cas d’échec de connexion initiale au serveur principal. Une fois que vous avez effectué la connexion initiale, cette propriété est ignorée. Doit être utilisé avec la databaseName propriété.

Note

Le pilote ne prend pas en charge le numéro de port de l'instance de serveur partenaire de basculement dans la propriété failoverPartner de la chaîne de connexion. Toutefois, le pilote prend en charge la spécification des propriétés serverName, instanceName et portNumber de l’instance de serveur principal, et de la propriété failoverPartner de l’instance du partenaire de basculement, dans la même chaîne de connexion.

Si vous spécifiez un nom Réseau virtuel dans la propriété de connexion Server, vous ne pouvez pas utiliser la mise en miroir de bases de données.

Pour plus d’informations sur la reprise d’activité, consultez Prise en charge de la haute disponibilité et de la reprise d’activité par le pilote JDBC.

Fips

  • Type : Boolean [true | false]
  • Par défaut : false

Définissez cette propriété sur true pour la machine virtuelle Java compatible FIPS.

fipsProvider

  • Type : String
  • Par défaut : null

Fournisseur FIPS configuré dans JVM, tel que BCFIPS ou SunPKCS11-NSS. Supprimé dans la version 6.4.0.

Pour plus d’informations, consultez le problème GitHub n° 460.

gsscredential

  • Type : org.ietf.jgss.GSSCredential
  • Par défaut : null

(Version 6.2+) Transmettez les informations d’identification de l’utilisateur pour la délégation Kerberos contrainte dans cette propriété.

Utilisez ce paramètre avec integratedSecurity as true et JavaKerberos as authenticationScheme.

hostNameInCertificate

  • Type : String
  • Par défaut : null

Nom d’hôte à utiliser pour valider le certificat TLS/SSL SQL Server.

L’option hostNameInCertificate peut être utilisée pour spécifier le nom d’hôte dans les situations où le nom ou les noms utilisés dans le certificat ne correspond pas au nom passé à la serverName propriété. S’il existe une correspondance, l’option hostNameInCertificate ne doit pas être utilisée.

Dans les cas où la propriété hostNameInCertificate n’est pas spécifiée ou définie sur null, le pilote JDBC Microsoft pour SQL Server utilise la valeur de propriété serverName sur l’URL de connexion comme nom d’hôte pour valider le certificat TLS/SSL SQL Server.

Note

Comme le décrit le paragraphe précédent, ne définissez pas l’option hostNameInCertificate sauf si vous confirmez que le nom ou les noms dans le certificat ne correspondent pas aux noms que vous transmettez dans l'option serverName.

Utilisez cette propriété en combinaison avec la propriété encrypt, la propriété authentication, ainsi que la propriété trustServerCertificate. Cette propriété affecte la validation du certificat si la connexion utilise le chiffrement TLS et que la valeur trustServerCertificate est définie false. Assurez-vous que la valeur que vous passez à hostNameInCertificate correspond au nom commun (CN) ou au nom DNS dans le Nom Alternatif du Sujet (SAN) du certificat serveur pour qu'une connexion TLS réussisse.

Pour plus d’informations sur la prise en charge du chiffrement, consultez Comprendre la prise en charge du chiffrement.

Instancename

  • Type : String [<=128 char]
  • Par défaut : null

Nom de l’instance de base de données à laquelle se connecter. Lorsque vous ne spécifiez pas cette propriété, vous vous connectez à l’instance par défaut. Dans le cas où vous spécifiez à la fois le instanceName et le port, consultez les notes relatives au port.

Si vous spécifiez un nom Réseau virtuel dans la propriété de connexion Server, vous ne pouvez pas utiliser la propriété de connexion instanceName.

Pour plus d’informations sur la reprise d’activité, consultez Prise en charge de la haute disponibilité et de la reprise d’activité par le pilote JDBC.

integratedSecurity

  • Type : Boolean [true | false]
  • Par défaut : false

Défini sur true pour indiquer que les informations d’identification Windows sont utilisées par SQL Server sur les systèmes d’exploitation Windows. Si true, le pilote JDBC recherche dans le cache d’informations d’identification de l’ordinateur local les informations d’identification fournies lorsqu’un utilisateur s’est connecté à l’ordinateur ou au réseau.

Défini sur true (avec authenticationscheme=JavaKerberos), pour indiquer que les informations d’identification Kerberos sont utilisées par SQL Server.

Pour plus d’informations sur l’authentification Kerberos, consultez Utilisation de l’authentification intégrée Kerberos pour se connecter à SQL Server.

Défini sur true (avec authenticationscheme=NTLM), pour indiquer que les informations d’identification NTLM sont utilisées par SQL Server.

Si false, le nom d’utilisateur et le mot de passe doivent être fournis.

ipaddresspreference

  • Type : String [<=128 char]
  • Par défaut : IPv4First

Préférence IP utilisée par l’application cliente.

Avec IPV4First, le pilote traverse d’abord les adresses IPv4. Si aucune adresse IPv4 ne peut être connectée, le pilote continue et essaie les adresses IPv6, le cas échéant.

Avec IPV6First, le pilote traverse d’abord les adresses IPv6. Si aucune adresse IPv6 ne peut être connectée, le pilote continue et essaie les adresses IPv4, le cas échéant.

Avec UsePlatformDefault, le pilote parcourt toutes les adresses IP dans leur ordre initial à partir de la résolution DNS.

jaasConfigurationName

  • Type : String
  • Par défaut : SQLJDBCDriver

(Version 6.2+) Chaque connexion à SQL Server peut utiliser son propre nom de configuration de connexion JAAS pour établir une connexion Kerberos. Vous pouvez transmettre le nom de l’entrée de configuration via cette propriété. Utilisez cette propriété lors de la création d’un fichier de configuration Kerberos. Par défaut, le pilote recherche le nom SQLJDBCDriver.

Si le pilote ne trouve pas de configuration externe, il définit useDefaultCcache=true pour les machines virtuelles Java IBM, et useTicketCache=true pour les autres machines virtuelles Java.

keyStoreAuthentication

  • Type : String
  • Par défaut : null

(Version 6.0+) Cette propriété identifie le magasin de clés à utiliser avec Always Encrypted, et détermine le mécanisme d’authentification utilisé auprès du magasin de clés. Le pilote prend en charge la configuration du magasin de clés Java en toute transparence lorsque vous définissez keyStoreAuthentication=JavaKeyStorePassword. Pour utiliser cette propriété, vous devez également définir les propriétés keyStoreLocation et keyStoreSecret pour le magasin de clés Java.

À partir de Microsoft JDBC Driver 8.4, vous pouvez définir keyStoreAuthentication=KeyVaultManagedIdentity ou keyStoreAuthentication=KeyVaultClientSecret pour vous authentifier auprès de Azure Key Vault à l’aide d’identités managées.

Pour plus d’informations sur Always Encrypted, consultez Utiliser Always Encrypted avec le pilote JDBC.

keyStoreLocation

  • Type : String
  • Par défaut : null

(Version 6.0+) Lorsque keyStoreAuthentication=JavaKeyStorePassword, la propriété keyStoreLocation identifie le chemin d’accès au keystore Java qui stocke la clé principale de colonne à utiliser avec des données Always Encrypted. Le chemin doit inclure le nom de fichier du magasin de clés.

Pour plus d’informations sur Always Encrypted, consultez Utiliser Always Encrypted avec le pilote JDBC.

keyStorePrincipalId

  • Type : String
  • Par défaut : null

(Version 8.4+) Quand keyStoreAuthentication=KeyVaultManagedIdentity, la propriété keyStorePrincipalId spécifie un ID client d’application Microsoft Entra valide.

Pour plus d’informations sur Always Encrypted, consultez Utiliser Always Encrypted avec le pilote JDBC.

keyStoreSecret

  • Type : String
  • Par défaut : null

(Version 6.0+) Quand keyStoreAuthentication=JavaKeyStorePassword, la keyStoreSecret propriété identifie le mot de passe à utiliser pour le magasin de clés et la clé. Lorsque vous utilisez le magasin de clés Java, le magasin de clés et le mot de passe de la clé doivent être identiques.

Pour plus d’informations sur Always Encrypted, consultez Utiliser Always Encrypted avec le pilote JDBC.

lastUpdateCount

  • Type : Boolean [true | false]
  • Par défaut : true

Une true valeur retourne uniquement le dernier nombre de mises à jour à partir d’une instruction SQL que vous passez au serveur. Utilisez cette valeur uniquement avec une seule instruction SELECT, INSERT, ou DELETE pour ignorer les autres nombres de mises à jour que les déclencheurs de serveur peuvent provoquer. Définissez cette propriété sur false pour retourner tous les comptes de mises à jour, y compris ceux que les déclencheurs de serveur retournent.

Note

Cette propriété s’applique uniquement lorsque vous l’utilisez avec les méthodes executeUpdate . Toutes les autres méthodes execute retournent l’ensemble des résultats et des nombres de mises à jour. Cette propriété affecte uniquement les nombres de mises à jour retournés par le serveur. Elle n’affecte pas les jeux de résultats ou les erreurs provenant de l’exécution du déclencheur.

lockTimeout

  • Type : int
  • Par défaut : -1

Nombre de millisecondes à attendre avant que la base de données signale un délai d’expiration de verrouillage. Le comportement par défaut est d’attendre indéfiniment. Si vous ne spécifiez pas de valeur pour cette propriété, cette valeur est la valeur par défaut pour toutes les instructions sur la connexion.

Vous pouvez également utiliser Statement.setQueryTimeout() pour définir le délai d’expiration de la requête pour des instructions spécifiques. La valeur peut être 0, ce qui signifie aucune attente.

loginTimeout

  • Type : int [0..65535]
  • Par défaut : 30 (version 11.2 et ultérieure) ou 15 (version 10.2 et antérieure)

Nombre de secondes que le pilote doit attendre avant l'expiration d'une connexion qui a échoué. La valeur zéro indique que le délai d’attente correspond au délai d’attente système par défaut. Cette valeur est de 30 secondes (la valeur par défaut dans la version 11.2 et ultérieure) ou de 15 secondes (la valeur par défaut dans la version 10.2 et les versions antérieures). Une valeur différente de zéro correspond au nombre de secondes que le pilote doit attendre avant l'expiration d'une connexion échouée.

Si vous spécifiez un nom de réseau virtuel dans la propriété de connexion Server, spécifiez une valeur de délai d’expiration d’au moins trois minutes pour permettre la réussite d’une connexion de redondance.

Pour plus d’informations sur la reprise d’activité, consultez Prise en charge de la haute disponibilité et de la reprise d’activité par le pilote JDBC.

maxResultBuffer

  • Type : String
  • Par défaut : null

(Version 9.2+) Permet maxResultBuffer de définir le nombre maximal d’octets à lire lors de la lecture d’un jeu de résultats. Si vous ne spécifiez pas cette valeur, le pilote lit l’ensemble du jeu de résultats. Vous pouvez spécifier la taille dans deux styles :

  • Taille en octets (par exemple, 100, 150M, 300K, 400G).
  • Pourcentage de mémoire de tas maximale (par exemple, 10p, 15pct, 20percent).

msiClientId

  • Type : String
  • Par défaut : null

(Déconseillé) (Version 7.2+) ID client de l’identité managée (MSI) utilisé pour acquérir une accessToken pour établir une connexion à l'aide du mode d'authentification ActiveDirectoryManagedIdentity ou ActiveDirectoryMSI.

multiSubnetFailover

  • Type : Boolean [true | false]
  • Par défaut : false

Spécifiez toujours multiSubnetFailover=true pour vous connecter à l’écouteur du groupe de disponibilité d’un groupe de disponibilité SQL Server ou d’une instance de cluster de basculement SQL Server. multiSubnetFailover=true configure le pilote pour fournir une détection et une connexion plus rapides au serveur actif.

Les valeurs possibles sont true et false.

Pour plus d’informations sur la reprise d’activité, consultez Prise en charge de la haute disponibilité et de la reprise d’activité par le pilote JDBC.

Vous pouvez accéder de manière programmatique à la propriété de connexion à l’aide de multiSubnetFailover, getPropertyInfo, getMultiSubnetFailover et setMultiSubnetFailover.

Note

À partir de la version 6.0 du pilote JDBC de Microsoft pour SQL Server, vous n’avez plus besoin de définir multiSubnetFailover sur true pour vous connecter à un écouteur de groupe de disponibilité. Une nouvelle propriété, transparentNetworkIPResolutionactivée par défaut, fournit la détection et la connexion au serveur actif.

packetSize

  • Type : int [-1 | 0 | 512..32767]
  • Par défaut : 8000

Taille de paquet réseau utilisée pour communiquer avec le serveur, spécifiée en octets. Une valeur de -1 indique qu'il faut utiliser la taille de paquet par défaut du serveur. La valeur 0 indique qu’il faut utiliser la valeur maximale de 32767. Si vous définissez cette propriété sur une valeur en dehors de la plage acceptable, une exception se produit.

Importante

N’utilisez pas la propriété lorsque le packetSize chiffrement est activé (encrypt=true). Sinon, le pilote risque de générer une erreur de connexion.

Pour plus d’informations sur cette propriété, reportez-vous à la méthode setPacketSize de la classe SQLServerDataSource.

mot de passe

  • Type : String [<=128 char]
  • Par défaut : null

Mot de passe de la base de données, si vous vous connectez avec un utilisateur SQL et son mot de passe.

Pour la connexion Kerberos avec le nom du principal et le mot de passe, définissez cette propriété sur le mot de passe du principal Kerberos.

(Version 10.2+) Lorsque authentication=ActiveDirectoryServicePrincipal, la propriété password identifie le mot de passe à utiliser pour le principal Active Directory.

portNumber, port

  • Type : int [0..65535]
  • Par défaut : 1433

Port sur lequel le serveur est à l’écoute. Si vous spécifiez le numéro de port dans l’chaîne de connexion, aucune demande n’est effectuée auprès de SQLbrowser. Lorsque vous spécifiez à la fois le port et instanceName, la connexion est établie au port spécifié. Toutefois, la valeur instanceName est validée et une erreur est générée si elle ne correspond pas au port.

Importante

Spécifiez toujours le numéro de port, car il est plus sécurisé que l’utilisation de SQLbrowser.

prepareMethod

  • Type : String [prepexec | prepare | scopeTempTablesToConnection | none]
  • Par défaut : prepexec

(Version 11.2.0+) Spécifie la méthode de préparation sous-jacente utilisée par le pilote avec des instructions préparées.

Réglez sur pour utiliser comme méthode de préparation. Définir prepareMethod sur cette valeur entraîne un transfert initial distinct vers la base de données pour préparer l’instruction sans aucune valeur initiale à prendre en compte par la base de données dans le plan d’exécution. Réglez sur pour utiliser comme méthode de préparation. Cette méthode combine l’action de préparation avec la première exécution, ce qui réduit les allers-retours. Il fournit également à la base de données des valeurs de paramètre initiales que la base de données peut prendre en compte dans le plan d’exécution.

(Version 13.4.0+) Configure scopeTempTablesToConnection pour lier les tables temporaires créées dans les instructions préparées à la connexion, en utilisant la substitution de paramètre littéral au lieu des handles préparés côté serveur. Définissez sur none pour appliquer la substitution de paramètres littéraux lors de l'exécution du lot SQL, en contournant les handles des instructions préparées côté serveur (sp_prepexec / sp_prepare).

Limitations et exclusions de responsabilité pour scopeTempTablesToConnection et none:

Ces prepareMethod options sont destinées aux scénarios de compatibilité et de migration, et non à une utilisation générale des performances.

  • Aucune instruction préparée côté serveur ; SQL est toujours exécuté en tant que lot.
  • Nécessite FORCED_PARAMETERIZATION pour une réutilisation efficace du plan.
  • Les paramètres sont insérés en tant que littéraux plutôt qu'en tant que types liés.
  • La précision numérique et l’échelle peuvent différer de la liaison de paramètres côté serveur.
  • Les valeurs de date et d’heure sont mises en forme sous forme de chaînes par le pilote.
  • Les paramètres de chaîne volumineux augmentent la taille du texte SQL et l’utilisation de la mémoire.
  • Les paramètres BLOB et CLOB peuvent entraîner une utilisation élevée de la mémoire ou des pénuries de mémoire.
  • SQL Server déduit les types de données de paramètre au moment de l’analyse SQL.
  • Les plans de requête peuvent varier en raison des différences entre les valeurs littérales.
  • Les erreurs sont détectées au moment de l’exécution plutôt qu’au moment de la liaison.
  • L’exécution de SQL inclut des valeurs littérales et est visible dans les traces et journaux du serveur.

queryTimeout

  • Type : int
  • Par défaut : -1

Nombre de secondes à attendre avant expiration du délai d’attente sur une requête. La valeur -1 par défaut signifie un délai infini. La définition de cette valeur sur 0 implique également d’attendre indéfiniment.

quotedIdentifier

  • Type : String [ON | OFF]
  • Par défaut : ON

(Version 13.2+) Lorsque vous définissez cette option sur OFF, le pilote définit la variable de session de base de données QUOTED_IDENTIFIER sur OFF lorsqu’il établit la connexion. La base de données traite les guillemets doubles comme des délimiteurs de chaîne pour les littéraux de caractères, et vous ne pouvez pas placer d’identificateurs entre guillemets doubles.

Pour plus d’informations, voir SET QUOTED_IDENTIFIER.

Royaume

  • Type : String
  • Par défaut : null

(Version 9.4 +) Domaine pour l’authentification Kerberos. La définition de cette valeur remplace le domaine d’authentification Kerberos que le pilote détecte automatiquement à partir du domaine du serveur.

Réplication

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 9.4 +) Ce paramètre indique au serveur si la connexion est utilisée pour la réplication. En cas d’activation, les déclencheurs comportant l’option NOT FOR REPLICATION ne sont pas activés sur la connexion.

responseBuffering

  • Type : String [full | adaptive]
  • Par défaut : adaptive

Si vous définissez cette propriété adaptivesur , le pilote met en mémoire tampon la quantité minimale de données si nécessaire. Le mode par défaut est adaptive.

Si vous définissez cette propriété fullsur , le pilote lit l’ensemble du jeu de résultats à partir du serveur lorsqu’il exécute une instruction.

Note

À compter de la version 1.2 du pilote JDBC, le comportement de mise en mémoire tampon par défaut est adaptive. Pour utiliser le comportement par défaut de la version 1.2 dans votre application, définissez la responseBuffering propriété full sur les propriétés de connexion ou avec la méthode setResponseBuffering de l’objet SQLServerStatement Class .

Selectmethod

  • Type : String [direct | cursor]
  • Par défaut : direct

Si vous définissez cette propriété sur cursor, le pilote crée un curseur de base de données pour chaque requête qu’il crée sur la connexion pour TYPE_FORWARD_ONLY et CONCUR_READ_ONLY curseurs. En règle générale, vous n’avez besoin de cette propriété que si votre application génère des jeux de résultats volumineux qui ne peuvent pas s’adapter entièrement à la mémoire du client. Si vous définissez cette propriété sur cursor, le pilote conserve uniquement un nombre limité de lignes en mémoire client.

Par défaut, le pilote conserve toutes les lignes du jeu de résultats dans la mémoire du client. Ce comportement par défaut offre les performances les plus rapides lorsque l’application traite toutes les lignes.

sendStringParametersAsUnicode

  • Type : Boolean [true | false]
  • Par défaut : true

Si vous définissez la propriété sendStringParametersAsUnicode à true, le pilote envoie des paramètres de chaîne au serveur au format Unicode.

Si vous définissez la propriété sendStringParametersAsUnicode sur false, le pilote envoie des paramètres de chaîne de texte au serveur dans des formats non Unicode tels que ASCII ou MBCS au lieu d'Unicode.

La valeur par défaut de la propriété sendStringParametersAsUnicode est true.

Note

Le pilote vérifie la propriété uniquement lors de l’envoi d’une valeur de paramètre avec les types JDBC sendStringParametersAsUnicode, CHAR ou VARCHAR, LONGVARCHAR. Les nouvelles méthodes de caractères nationaux JDBC 4.0 incluent des méthodes telles que setNString, setNCharacterStreamet setNClob de la classe SQLServerPreparedStatement et des classes SQLServerCallableStatement. Ces méthodes envoient toujours leurs valeurs de paramètre au serveur en Unicode, quel que soit le paramètre de cette propriété.

Pour des performances optimales avec les types de données JDBC CHAR, VARCHAR et LONGVARCHAR, une application doit définir la propriété sendStringParametersAsUnicode sur false et utiliser les méthodes de caractères non nationaux setString, setCharacterStream, et setClob des classes SQLServerPreparedStatement et SQLServerCallableStatement.

Lorsque l’application définit la propriété sendStringParametersAsUnicode sur false et utilise une méthode de caractères non nationaux pour accéder aux types de données Unicode côté serveur (par exemple, nchar, nvarchar et ntext), certaines données peuvent être perdues si le classement de la base de données ne prend pas en charge les caractères dans les paramètres String passés par la méthode de caractères non nationaux.

Une application doit utiliser les méthodes de caractères nationaux setNString, setNCharacterStream et setNClob des classes SQLServerPreparedStatement et SQLServerCallableStatement pour les types de données JDBC NCHAR, NVARCHAR et LONGNVARCHAR.

La modification de cette valeur peut influer sur le tri des résultats de la base de données. Ces différences de tri sont dues à différentes règles de tri pour les caractères Unicode et non Unicode.

sendTemporalDataTypesAsStringForBulkCopy

  • Type : Boolean [true | false]
  • Par défaut : true

(Version 8.4+) Lorsque vous définissez cette propriété de connexion sur false, le pilote envoie les types de données DATE, DATETIME, DATETIME2, DATETIMEOFFSET, SMALLDATETIME et TIME en tant que leurs types respectifs au lieu de les envoyer en tant que String.

Lorsque vous définissez cette propriété de connexion sur false, le pilote accepte le format littéral de chaîne par défaut de chaque type de données temporel, par exemple :

  • 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

  • Type : Boolean [true | false]
  • Par défaut : true

Cette propriété a été ajoutée dans SQL Server JDBC Driver 3.0.

  • Définissez sur true pour envoyer des valeurs java.sql.Time au serveur en tant que valeurs SQL Server datetime.

  • Définissez sur false pour envoyer des valeurs java.sql.Time au serveur en tant que valeurs SQL Server time.

La valeur par défaut de cette propriété est actuellement true et peut changer dans une version ultérieure.

Pour plus d’informations sur la façon dont Microsoft pilote JDBC pour SQL Server configure les valeurs java.sql.Time avant de les envoyer au serveur, consultez Configurant comment les valeurs java.sql.Time sont envoyées.

serverCertificate, serveur

  • Type : String
  • Par défaut : null

(Version 11.2.0+) Chemin d’accès au fichier de certificat du serveur. Le pilote utilise ce certificat pour la validation lorsque vous définissez encrypt sur strict. Le pilote prend en charge les fichiers de certificat qui utilisent le format de fichier PEM.

serverName, serveur

  • Type : String
  • Par défaut : null

L’ordinateur qui exécute SQL Server ou une base de données Azure SQL.

Vous pouvez également spécifier le nom du réseau virtuel d’un groupe de disponibilité.

Pour plus d’informations sur la reprise d’activité, consultez Prise en charge de la haute disponibilité et de la reprise d’activité par le pilote JDBC.

serverNameAsACE

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 6.0+) Définissez à true pour indiquer que le pilote doit traduire le nom du serveur Unicode vers un encodage compatible ASCII (Punycode) pour la connexion. Si ce paramètre est falsedéfini, le pilote utilise le nom du serveur tel qu’il est fourni pour se connecter.

Pour plus d’informations sur les fonctionnalités internationales, consultez Fonctionnalités internationales du pilote JDBC.

serverPreparedStatementDiscardThreshold

  • Type : int
  • Par défaut : 10

(Version 6.2+) Utilisez cette propriété pour contrôler le nombre d’actions d’abandon d’instruction préparée en attente (sp_unprepare) en attente par connexion avant que le pilote nettoie les handles en attente sur le serveur.

Si vous définissez cette propriété à <= 1, le pilote exécute immédiatement des actions de libération sur la fermeture des instructions préparées. Si vous définissez la propriété sur > 1, le pilote regroupe ces appels pour éviter la surcharge liée à des appels à sp_unprepare trop fréquents.

serverSpn

  • Type : String
  • Par défaut : null

(Version 4.2+) Utilisez cette propriété facultative pour spécifier le nom du principal de service (SPN) pour une connexion Kerberos Java. Utilisez-le avec authenticationScheme.

Pour spécifier le SPN, utilisez le formulaire : MSSQLSvc/fqdn:port@REALM où fqdn est le nom de domaine complet, le port est le numéro de port et REALM est le domaine Kerberos de l’SQL Server en majuscules.

Note

Le @REALM est facultatif si le domaine par défaut du client (tel que spécifié dans la configuration Kerberos) est le même que le domaine Kerberos pour l’SQL Server.

Pour plus d’informations sur l’utilisation de serverSpn avec Java Kerberos, consultez Utilisant l’authentification intégrée Kerberos pour se connecter à SQL Server.

socketFactoryClass

  • Type : String
  • Par défaut : null

(Version 8.4+) Spécifie le nom de classe d’une fabrique de sockets personnalisée à utiliser au lieu de la fabrique de sockets par défaut.

socketTimeout

  • Type : int
  • Par défaut : 0

Nombre de millisecondes à attendre avant qu’un délai d’expiration se produise lors de la lecture ou de l'acceptation d'une connexion sur un socket. La valeur 0 par défaut signifie un délai infini.

statementPoolingCacheSize

  • Type : int
  • Par défaut : 0

(Version 6.4+) Utilisez cette propriété pour activer la mise en cache du handle d’instruction préparée dans le pilote.

Cette propriété définit la taille du cache du regroupement d’instructions.

Utilisez cette propriété uniquement avec la disableStatementPooling propriété de connexion, que vous devez définir sur false. Définir disableStatementPooling à true ou statementPoolingCacheSize à 0 désactive la gestion de la mise en cache des instructions préparées.

sslProtocol

  • Type : String
  • Par défaut : TLS

(Version 6.4+) Utilisez cette propriété pour spécifier le protocole TLS à prendre en compte pendant la connexion sécurisée.

Les valeurs possibles sont : TLS, TLSv1, TLSv1.1, et TLSv1.2

Pour plus d’informations sur le protocole SSL (Secure Sockets Layer), consultez SSLProtocol.

transparentNetworkIPResolution

  • Type : Boolean [true | false]
  • Par défaut : true

(Version 6.0+) Cette propriété permet une détection et une connexion plus rapides au serveur actif. Définissez-le sur true ou false. La valeur par défaut est true.

Avant Microsoft JDBC Driver 6.0 pour SQL Server, une application devait définir le chaîne de connexion pour inclure multiSubnetFailover=true pour indiquer qu’elle se connectait à un groupe de disponibilité Always On. Sans définir le mot clé multiSubnetFailover de connexion true, une application peut rencontrer un délai d’expiration lors de la connexion à un groupe de disponibilité Always On. À partir de la version 6.0, il n'est plus nécessaire qu'une application définisse multiSubnetFailover sur true.

Note

Lorsque vous utilisez l’authentification fédérée ou spécifiez multisubnetfailover, le pilote désactive transparentNetworkIPResolution par défaut. Pour activer cette fonctionnalité, définissez explicitement transparentNetworkIPResolution sur true.

Quand transparentNetworkIPResolution=true, la première tentative de connexion utilise 500 ms comme délai d’expiration. Toutes les tentatives ultérieures utilisent la même logique de délai d’expiration que celle utilisée par la multiSubnetFailover propriété.

trustManagerClass

  • Type : String
  • Par défaut : null

(Version 6.4+) Nom complet de la classe d’une implémentation javax.net.ssl.TrustManager personnalisée.

trustManagerConstructorArg

  • Type : String
  • Par défaut : null

(Version 6.4+) Argument facultatif à transmettre au constructeur du TrustManager. Si vous spécifiez la trustManagerClass propriété et demandez une connexion chiffrée, le pilote utilise le TrustManager personnalisé au lieu du trustManager basé sur le magasin de clés JVM par défaut.

trustServerCertificate

  • Type : Boolean [true | false]
  • Par défaut : false

Définir sur true pour spécifier que le pilote ne vérifie pas le certificat TLS/SSL du serveur.

  • Si la valeur est true, le certificat TLS/SSL du serveur est approuvé automatiquement quand la couche de communication est chiffrée avec TLS.

  • Si la valeur est false, le pilote valide le certificat TLS/SSL du serveur. Si la validation du certificat de serveur échoue, le pilote génère une erreur et ferme la connexion. La valeur par défaut est false. Vérifiez que la valeur passée serverName correspond exactement au nom commun (CN) ou au nom DNS dans le nom alternatif du sujet dans le certificat de serveur pour qu'une connexion TLS/SSL soit établie avec succès.

Pour plus d’informations sur la prise en charge du chiffrement, consultez Comprendre la prise en charge du chiffrement.

Note

Utilisez cette propriété avec les propriétés encrypt et authentication. Cette propriété affecte seulement la validation du certificat TLS/SSL de serveur si la connexion utilise le chiffrement TLS.

trustStore

  • Type : String
  • Par défaut : null

Chemin d’accès (y compris le nom de fichier) du fichier de certificat trustStore . Le trustStore fichier contient la liste des certificats approuvés par le client.

Lorsque vous ne spécifiez pas cette propriété ou si elle est définie sur Null, le pilote utilise les règles de recherche de la fabrique de gestionnaires de confiance pour déterminer le magasin de certificats à utiliser.

Le SunX509 TrustManagerFactory par défaut tente de trouver les éléments de confiance dans l’ordre de recherche suivant :

  1. Fichier spécifié par la javax.net.ssl.trustStore propriété système JVM.
  2. Fichier <java-home>/lib/security/jssecacerts.
  3. Fichier <java-home>/lib/security/cacerts.

Pour plus d’informations sur l’interface SUNX509 TrustManager, consultez la documentation de l’interface SUNX509 TrustManager sur le site web de Sun Microsystems.

Note

Cette propriété affecte uniquement la recherche de certificat trustStore si la connexion utilise le chiffrement TLS et que la trustServerCertificate propriété est définie falsesur .

trustStorePassword

  • Type : String
  • Par défaut : null

Mot de passe utilisé pour vérifier l’intégrité des trustStore données.

Si vous définissez la trustStore propriété mais que vous ne définissez pas la trustStorePassword propriété, le pilote ne vérifie pas l’intégrité du trustStore.

Lorsque vous ne spécifiez pas les propriétés trustStore et trustStorePassword, le pilote utilise les propriétés système JVM, javax.net.ssl.trustStore et javax.net.ssl.trustStorePassword. Si vous ne spécifiez pas la javax.net.ssl.trustStorePassword propriété système, le pilote ne vérifie pas l’intégrité du trustStore.

Si vous ne définissez pas la trustStore propriété mais que vous définissez la trustStorePassword propriété, le pilote JDBC utilise le fichier que le javax.net.ssl.trustStore spécifie comme magasin de confiance. Le pilote vérifie l’intégrité du magasin de confiance à l’aide de l’élément spécifié trustStorePassword. Ce paramètre est nécessaire quand l’application cliente ne veut pas stocker le mot de passe dans la propriété système JVM.

Note

La propriété trustStorePassword n'affecte que la recherche de certificat trustStore si la connexion utilise TLS et que la propriété trustServerCertificate est définie sur false.

trustStoreType

  • Type : String
  • Par défaut : JKS

Définissez cette propriété pour spécifier le type de magasin de confiance à utiliser pour le mode FIPS.

Les valeurs possibles sont soit PKCS12 un type défini par le fournisseur FIPS.

useBulkCopyForBatchInsert

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 9.2+) Lorsque vous activez cette propriété de connexion, le pilote utilise de manière transparente l’API De copie en bloc pour les opérations d’insertion par lots qui utilisent java.sql.PreparedStatement. Cette fonctionnalité peut fournir de meilleures performances.

Cette fonctionnalité est désactivée par défaut. Définissez cette propriété sur true pour l’activer.

Importante

Cette fonctionnalité prend uniquement en charge les requêtes entièrement paramétrables INSERT . Si vous combinez les INSERT requêtes avec d’autres requêtes SQL ou si les requêtes contiennent des données dans des valeurs, l’exécution revient à l’opération d’insertion par lot de base.

Pour plus d’informations sur l’utilisation de cette propriété, consultez Utilisation de l’API de copie en bloc pour l’opération d’insertion par lots.

useDefaultGSSCredential

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.6 ou ultérieure) Indicateur qui spécifie si le pilote doit créer le GSSCredential au nom de l’utilisateur pour l’utilisation de l’API GSS native pour l’authentification Kerberos.

useDefaultJaasConfig

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 12.6+) Lorsque l’application existe en même temps que les bibliothèques qui configurent JAAS au niveau du système, définissez cette propriété pour true permettre au pilote d’utiliser cette même configuration pour effectuer l’authentification Kerberos.

useFmtOnly

  • Type : Boolean [true | false]
  • Par défaut : false

(Version 7.4+) Propose un autre moyen d’interroger les métadonnées des paramètres à partir du serveur. Définissez cette propriété sur true pour spécifier que le pilote doit utiliser la logique SET FMTONLY lors de l'interrogation des métadonnées des paramètres. Cette fonctionnalité est désactivée par défaut ; il n’est pas recommandé d’utiliser cette propriété, car SET FMTONLY est déprécié. useFmtOnly est disponible pour être utilisé uniquement comme solution de contournement pour les problèmes connus et les limitations dans sp_describe_undeclared_parameters.

Cette fonctionnalité ne prend actuellement en charge que les requêtes SELECT/INSERT/UPDATE/DELETE uniques. Si vous tentez d’utiliser cette fonctionnalité avec des requêtes non prises en charge/plusieurs requêtes, le pilote tente d’analyser la requête, mais cela entraîne probablement une exception.

Pour plus d’informations sur cette propriété, consultez Récupérer ParameterMetaData via useFmtOnly.

nom d'utilisateur, utilisateur

  • Type : String [<=128 char]
  • Par défaut : null

L’utilisateur de base de données, si vous vous connectez à l’aide d’un utilisateur et d’un mot de passe SQL.

Pour la connexion Kerberos à l’aide du nom principal et du mot de passe, définissez cette propriété sur le nom principal Kerberos.

(Version 10.2+) Quand authentication=ActiveDirectoryServicePrincipal, la propriété userName spécifie un ID client sécurisé Microsoft Entra valide.

vectorTypeSupport

  • Type : String [v2 | v1 | off]
  • Par défaut : v1

(Version 13.2+) Définissez sur off pour spécifier que le serveur envoie les types de vecteurs sous forme de données de chaîne au format JSON et v1 pour spécifier que le serveur envoie les types de vecteurs FLOAT32 sous forme de données vectorielles. La valeur par défaut est v1.

(Version 13.4+) Définissez cette option sur v2 pour activer la prise en charge du type de vecteur natif pour les vecteurs FLOAT32 et FLOAT16. FLOAT16 vecteurs utilisent la sérialisation demi-précision IEEE-754 sur le fil et sont exposés sous forme de tableaux Float[] dans Java.

Pour plus d’informations, consultez Utiliser le type de données vectorielles avec le pilote JDBC.

workstationID

  • Type : String [<=128 char]
  • Par défaut : <empty string>

ID de station de travail. Utilisez cet ID pour identifier la station de travail spécifique dans différents outils de profilage et de journalisation.

Si vous ne spécifiez aucune valeur, la valeur par défaut est <empty string>.

xopenStates

  • Type : Boolean [true | false]
  • Par défaut : false

Définissez sur true, pour spécifier que le pilote retourne des codes d'état conformes à XOPEN dans les exceptions.

Par défaut, des codes d'état SQL 99 sont retournés.