Exporter (0) Imprimer
Développer tout

Caractéristiques internationales du pilote JDBC

Les caractéristiques d'internationalisation du Microsoft JDBC Driver 4.0 pour SQL Server incluent ce qui suit :

  • Prise en charge d'une version complètement localisée dans les mêmes langues que SQL Server.

  • Prise en charge des conversions de langage Java pour les données SQL Server respectant les paramètres régionaux.

  • Prise en charge des langues internationales, indépendamment du système d'exploitation.

Les données de type caractères dans Java sont traitées par défaut en tant qu'Unicode ; l'objet String Java représente des données de type caractères Unicode. Dans le pilote JDBC, les méthodes getter et setter du flux de données ASCII constituent la seule exception à cette règle ; il s'agit de cas à part, car ces méthodes utilisent des flux d'octets en se basant sur l'hypothèse implicite de pages de codes uniques et bien connues (ASCII).

En outre, le pilote JDBC fournit la propriété de chaîne de connexion sendStringParametersAsUnicode. Cette propriété peut être utilisée pour spécifier que les paramètres préparés pour les données caractères sont envoyés en tant que caractères ASCII ou en tant que jeu de caractères multioctets (MBCS), et non en tant que caractères Unicode. Pour plus d'informations sur la propriété de chaîne de connexion sendStringParametersAsUnicode, consultez Définition des propriétés de connexion.

Conversions entrantes du pilote

Les données de type texte Unicode provenant du serveur ne doivent pas être converties. Elles sont transmises directement en Unicode. Les données non-Unicode provenant du serveur sont converties en Unicode à partir de la page de codes des données, au niveau base de données ou colonne. Le pilote JDBC utilise les routines de conversion de machine virtuelle Java (Java Virtual Machine, JVM) pour effectuer ces conversions. Ces conversions sont effectuées sur toutes les méthodes getter des flux de données de type chaînes et caractères.

Si la machine virtuelle Java (JVM) ne prend pas en charge la page de codes appropriée pour les données de la base de données, le pilote JDBC lève l'exception suivante : « Page de codes XXX non prise en charge par l'environnement Java ». Pour résoudre ce problème, vous devez installer la prise en charge complète des caractères internationaux requise par cette machine virtuelle Java. Pour obtenir un exemple, consultez la documentation relative aux encodages pris en charge sur le site Web de Sun Microsystems.

Conversions sortantes du pilote

Les données caractères allant du pilote au serveur peuvent être au format ASCII ou Unicode. Par exemple, les nouvelles méthodes JDBC 4.0 prenant en charge les caractères nationaux, notamment les méthodes setNString, setNCharacterStream et setNClob des classes SQLServerPreparedStatement et SQLServerCallableStatement, envoient toujours leurs valeurs de paramètres au serveur au format Unicode.

Par ailleurs, les méthodes d'API basées sur des caractères non nationaux, notamment les méthodes setString, setCharacterStream et setClob des classes SQLServerPreparedStatement et SQLServerCallableStatement envoient leurs valeurs au serveur au format Unicode uniquement lorsque la propriété sendStringParametersAsUnicode a la valeur « true », laquelle représente la valeur par défaut.

Pour garantir des performances optimales avec le type CHAR, VARCHAR ou LONGVARCHAR des paramètres non Unicode, affectez la valeur « false » à la propriété de chaîne de connexion sendStringParametersAsUnicode et utilisez les méthodes basées sur des caractères non nationaux.

Pour les dates, les heures et les devises, toute mise en forme des données localisées est effectuée au niveau du langage Java, à l'aide de l'objet Locale et des diverses méthodes de mise en forme pour les types de données Date, Calendar et Number. Dans le cas, rare, où le pilote JDBC doit passer des données sensibles respectant les paramètres régionaux dans un format localisé, le programme approprié de mise en forme est utilisé avec les paramètres régionaux par défaut de la machine virtuelle Java.

Le pilote JDBC version 3.0 gère tous les classements pris en charge par SQL Server 2000 et SQL Server 2005, ainsi que les nouveaux classements ou les nouvelles versions des noms de classements Windows introduits dans SQL Server 2008.

Pour plus d'informations sur les classements, consultez Prise en charge d'Unicode et du classement et Nom de classement Windows (Transact-SQL) dans la documentation en ligne de SQL Server.

Afficher:
© 2014 Microsoft