Partager via


Définition des propriétés de connexion

Les propriétés de chaîne de connexion peuvent être spécifiées de plusieurs manières :

  • En tant que propriétés nom=valeur dans l'URL de connexion, lors de la connexion à l'aide de la classe DriverManager.

  • En tant que propriétés nom=valeur dans le paramètre Properties de la méthode Connect dans la classe DriverManager.

  • En tant que valeurs dans la méthode setter appropriée de la source de données du pilote. Par exemple :

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

Les noms de propriétés ne sont pas sensibles à la casse et les noms de propriétés dupliqués sont résolus dans l'ordre suivant :

  1. Arguments API (utilisateur et mot de passe)

  2. Collection de propriétés

  3. Dernière instance de la chaîne de connexion

Par ailleurs, des valeurs inconnues sont autorisées dans les noms de propriétés et leurs valeurs ne sont pas validées par le pilote JDBC concernant la sensibilité à la casse.

Les synonymes sont autorisés et sont résolus dans le même ordre que les noms de propriétés dupliqués.

Le tableau suivant répertorie toutes les propriétés de chaîne de connexion actuellement disponibles pour le pilote JDBC.

Propriété Type Par défaut Description

applicationName

String

[<= 128 car.]

null

Nom de l'application ou « Pilote JDBC Microsoft SQL Server 2005 » si aucun nom n'est fourni. Utilisé pour identifier l'application spécifique dans les divers outils de définition de profils et de journalisation SQL Server.

databaseName, base de données

String

[<= 128 car.]

null

Nom de la base de données à laquelle se connecter. S'il n'est pas indiqué, une connexion à la base de données par défaut est établie.

disableStatementPooling

booléen

["true"|"false"]

true

Actuellement, seule la valeur « true » est prise en charge. En cas de définition sur « false », une exception se produit.

encrypt

booléen

["true"|"false"]

false

Affecter la valeur « true » pour spécifier que le SQL Server utilise le chiffrement SSL (Secure Sockets Layer) pour toutes les données envoyées entre le client et le serveur si le serveur a un certificat installé. La valeur par défaut est false.

failoverPartner

String

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 la connexion initiale au serveur principal ; après avoir établi la connexion initiale, cette propriété est ignorée. Elle doit être utilisée avec la propriété databaseName.

hostNameInCertificate

String

null

Nom d'hôte à utiliser pour valider le certificat SSL SQL Server.

Si la propriété hostNameInCertificate n'est pas spécifiée ou a la valeur null, le pilote JDBC Microsoft SQL Server 2005 utilise la valeur de propriété serverName sur l'URL de connexion comme nom d'hôte pour valider le certificat SSL SQL Server.

NoteRemarque :

Cette propriété est utilisée avec les propriétés encrypt et trustServerCertificate. Elle affecte la validation du certificat si et seulement si la propriété encrypt a la valeur « true » et que trustServerCertificate a la valeur « false ».

instanceName

String

[<= 128 car.]

null

Nom de l'instance SQL Server 2000 ou SQL Server 2005 à laquelle se connecter. S'il n'est pas spécifié, une connexion à l'instance par défaut est établie. Si l'instanceName et le port sont tous deux spécifiés, consultez les notes relatives au port.

integratedSecurity

booléen

["true"|"false"]

false

Définir sur « true » pour indiquer que les références Windows seront utilisées par SQL Server pour authentifier l'utilisateur de l'application. Si la valeur est « true », le pilote JDBC recherche des références déjà fournies lors de la connexion à l'ordinateur ou au réseau dans la mémoire cache des références de l'ordinateur local. Si la valeur est « false », le nom d'utilisateur et le mot de passe doivent être fournis.

NoteRemarque :

Cette propriété de connexion est uniquement prise en charge sur les systèmes d'exploitation Windows Microsoft.

lastUpdateCount

booléen

["true"|"false"]

true

Une valeur « true » retourne uniquement le dernier nombre de mises à jour à partir d'une instruction SQL transmise au serveur et peut être utilisée dans des instructions uniques SELECT, INSERT ou DELETE pour ignorer les nombres de mises à jours supplémentaires causés par les déclencheurs du serveur. La définition de cette propriété sur « false » provoque le retour de tous les nombres de mises à jour, y compris ceux retournés par les déclencheurs du serveur.

NoteRemarque :

Cette propriété est applicable uniquement lorsqu'elle est utilisée avec les méthodes executeUpdate.

lockTimeout

int

-1

Nombre de millisecondes à attendre avant que la base de données ne rapporte l'expiration d'un délai de verrouillage. Par défaut, la durée de l'attente est indéterminée. Si elle est spécifiée, cette valeur devient la valeur par défaut pour toutes les instructions de la connexion. Notez que Statement.setQueryTimeout() peut être utilisé pour définir le délai pour des instructions spécifiques. La valeur peut être 0, ce qui signifie aucune attente.

loginTimeout

int [0..65535]

0

Nombre de secondes que le pilote doit attendre avant l'expiration d'une connexion qui a échoué. Une valeur égale à zéro indique une valeur sans délai. 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.

packetSize

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

8000

Taille de paquet du réseau utilisée pour communiquer avec SQL Server, spécifiée en octets. Une valeur de -1 indique l'utilisation de la taille de paquet par défaut du serveur. Une valeur de 0 indique la valeur maximale, à savoir 32767. Si cette propriété est définie sur une valeur située en dehors des limites acceptables, une exception se produit.

NoteImportant :

Nous déconseillons l'utilisation de la propriété packetSize lorsque le chiffrement est activé (encrypt=true), car dans ce cas le pilote peut déclencher une erreur de connexion. Pour plus d'informations, consultez la méthode setPacketSize de la classe SQLServerDataSource.

password

String

[<= 128 car.]

null

Mot de passe de la base de données.

portNumber, port

int [0..65535]

1433

Port sur lequel SQL Server est à l'écoute. Si le numéro du port est spécifié dans la chaîne de connexion, aucune demande n'est formulée à sqlbrowser. Lorsque le port et instanceName sont spécifiés, la connexion se fait vers le port spécifié. Cependant, instanceName est validé et une erreur est générée s'il ne correspond pas au port.

NoteImportant :

Il est recommandé de toujours spécifier le numéro du port car cette solution est plus sûre que l'utilisation de sqlbrowser.

responseBuffering

String

["full"|"adaptive"]

full

Si cette propriété a la valeur « full », le jeu de résultats entier est lu à partir du serveur lorsqu'une instruction est exécutée. Le mode par défaut est « full » pour le pilote JDBC Microsoft SQL Server 2005 version 1.2, ce qui procure une compatibilité descendante avec le pilote JDBC Microsoft SQL Server 2005 versions 1.0 et 1.1. Lorsque cette propriété a la valeur « adaptive », les données possibles minimales sont mises en mémoire tampon en cas de nécessité. Le mode préféré est « adaptive » pour le pilote JDBC Microsoft SQL Server 2005 version 1.2.

selectMethod

String

["direct"|"cursor"]

direct

Si cette propriété est définie sur « cursor », un curseur de base de données est créé pour chaque requête créée sur la connexion pour les curseurs TYPE_FORWARD_ONLY et CONCUR_READ_ONLY. Cette propriété n'est généralement requise que si l'application génère de très grands jeux de résultats qui ne peuvent pas être entièrement contenus dans la mémoire du client. Si cette propriété est définie sur « curseur », seul un nombre restreint de lignes de jeux de résultats est conservé dans la mémoire du client. Par défaut, toutes les lignes de jeux de résultats sont conservées dans la mémoire du client. Ce comportement est le plus rapide si l'application doit traiter toutes les lignes.

sendStringParametersAsUnicode

booléen

["true"|"false"]

true

Définir sur « false » pour spécifier que les paramètres préparés pour les données de type caractères sont envoyés en tant qu'ASCII à la place d'Unicode. Ce paramètre peut améliorer les performances de la recherche dans l'index de données de type caractères sur les tables non Unicode, SQL Server 2000 ou SQL Server 2005. Par exemple, les clés des lignes ASCII peuvent être comparées directement, sans conversion depuis l'Unicode. Pour plus d'informations, consultez la présentation Microsoft sur support.microsoft.com/kb/271566.

serverName, serveur

String

null

Ordinateur exécutant SQL Server.

userName, utilisateur

String

[<= 128 car.]

null

Utilisateur de la base de données.

trustServerCertificate

booléen

["true"|"false"]

false

Définir à « true » pour spécifier que le pilote JDBC Microsoft SQL Server 2005 ne valide pas le certificat SSL SQL Server.

Si cette propriété a la valeur « true », le certificat SSL SQL Server est approuvé automatiquement lorsque la couche de communication est chiffrée à l'aide du protocole SSL.

Si elle a la valeur « false », le pilote JDBC Microsoft SQL Server 2005 valide le certificat SSL de serveur. Si la validation du certificat de serveur échoue, le pilote déclenche une erreur et met fin à la connexion. La valeur par défaut est « false ».

NoteRemarque :

Cette propriété est utilisée avec la propriété encrypt. Elle affecte la validation du certificat SSL de serveur si et seulement si la propriété encrypt a la valeur « true ».

trustStore

String

null

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

Lorsque cette propriété n'est pas spécifiée ou a la valeur null, le pilote se fie aux règles de recherche de la fabrication du gestionnaire d'approbation pour déterminer le magasin de certificats à utiliser.

Le TrustManagerFactory SunX509 par défaut essaie de localiser les informations approuvées dans l'ordre de recherche suivant :

  • Un fichier spécifié par la propriété système de machine virtuelle Java (JVM) « javax.net.ssl.trustStore ».

  • Fichier « <java-home>/lib/security/jssecacerts ».

  • Fichier « <java-home>/lib/security/cacerts ».

Pour plus d'informations, consultez la documentation d'interface SUNX509 TrustManager sur le site Web de Sun Microsystems.

NoteRemarque :

Cette propriété affecte la recherche de certificat trustStore si et seulement si la propriété encrypt a la valeur « true » et si la propriété trustServerCertificate a la valeur « false ».

trustStorePassword

String

null

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

Si la propriété trustStore est définie mais que la propriété trustStorePassword n'est pas définie, l'intégrité du trustStore n'est pas vérifiée.

Lorsque les propriétés trustStore et trustStorePassword ne sont pas spécifiées, le pilote utilise les propriétés système JVM « javax.net.ssl.trustStore » et « javax.net.ssl.trustStorePassword ». Si la propriété système « javax.net.ssl.trustStorePassword » n'est pas spécifiée, l'intégrité du trustStore n'est pas vérifiée.

Si la propriété trustStore n'est pas définie mais que la propriété trustStorePassword est définie, le pilote JDBC utilise le fichier spécifié par la propriété « javax.net.ssl.trustStore » comme magasin d'approbations et l'intégrité du magasin d'approbations est vérifiée à l'aide de la propriété trustStorePassword spécifiée. Cela peut être nécessaire lorsque l'application cliente ne souhaite pas stocker le mot de passe dans la propriété système JVM.

NoteRemarque :

La propriété trustStorePassword affecte la recherche de certificat trustStore si et seulement si la propriété encrypt a la valeur « true » et si la propriété trustServerCertificate a la valeur « false ».

workstationID

String

[<= 128 car.]

<chaîne vide>

ID de la station de travail. Utilisé pour identifier la station de travail spécifique dans divers outils de définition de profils et de journalisation SQL Server. Si aucun ID n'est spécifié, la <chaîne vide> est utilisée.

xopenStates

booléen

["true"|"false"]

false

Définir sur « true » pour spécifier que le pilote retourne les codes d'état compatibles XOPEN dans des exceptions. Par défaut, 99 codes d'état SQL sont retournés.

Voir aussi

Autres ressources

Connexion à SQL Server à l'aide du pilote JDBC