Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le fournisseur de données .NET Framework pour Oracle nécessite Microsoft Data Access Components (MDAC) version 2.6 ou ultérieure. MDAC 2.8 SP1 est recommandé.
Vous devez également installer oracle 8i Release 3 (8.1.7) Client ou version ultérieure.
Le logiciel client Oracle antérieur à la version Oracle 9i ne peut pas accéder aux bases de données UTF16, car UTF16 est une nouvelle fonctionnalité dans Oracle 9i. Pour utiliser cette fonctionnalité, vous devez mettre à niveau votre logiciel client vers Oracle 9i ou version ultérieure.
Travail avec le fournisseur de données pour les données Oracle et Unicode
Voici une liste des problèmes liés à Unicode que vous devez prendre en compte lors de l’utilisation du fournisseur de données .NET Framework pour les bibliothèques clientes Oracle et Oracle. Pour plus d’informations, consultez votre documentation Oracle.
Définition de la valeur Unicode dans un attribut de chaîne de connexion
Lorsque vous utilisez Oracle, vous pouvez utiliser l’attribut de chaîne de connexion
Unicode=True
pour initialiser les bibliothèques clientes Oracle en mode UTF-16. Cela amène les bibliothèques clientes Oracle à accepter l'encodage UTF-16 (qui est très similaire à UCS-2) au lieu d'une chaîne à octets multiples. Cela permet au fournisseur de données pour Oracle de toujours travailler avec n’importe quelle page de codes Oracle sans travail de traduction supplémentaire. Cette configuration fonctionne uniquement si vous utilisez des clients Oracle 9i pour communiquer avec une base de données Oracle 9i avec l’autre jeu de caractères de AL16UTF16. Lorsqu’un client Oracle 9i communique avec un serveur Oracle 9i, des ressources supplémentaires sont requises pour convertir les valeurs Unicode CommandText en jeu de caractères multioctets approprié que le serveur Oracle9i utilise. Cela peut être évité lorsque vous savez que vous disposez de la configuration sécurisée en ajoutant Unicode=True à votre chaîne de connexion.
Mélange de versions du client Oracle et du serveur Oracle
Les clients Oracle 8i ne peuvent pas accéder à NCHAR, NVARCHAR2 ou NCLOB données dans les bases de données Oracle 9i lorsque le jeu de caractères nationaux du serveur est spécifié en tant que AL16UTF16 (paramètre par défaut pour Oracle 9i). Étant donné que la prise en charge du jeu de caractères UTF-16 n’a été introduite qu’avec Oracle 9i, les clients Oracle 8i ne peuvent pas le lire.
Utilisation des données UTF-8
Pour définir l’autre jeu de caractères, définissez la clé de Registre HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID\NLS_LANG sur UTF8. Pour plus d’informations, consultez les notes d’installation d’Oracle sur votre plateforme. Le paramètre par défaut est le jeu de caractères principal de la langue à partir de laquelle vous installez le logiciel client Oracle. Si vous ne définissez pas la langue pour qu’elle corresponde au jeu de caractères de langue nationale de la base de données à laquelle vous vous connectez, les liaisons de paramètres et de colonnes envoient ou reçoivent des données dans votre jeu de caractères de base de données principal, et non le jeu de caractères nationaux.
OracleLob ne peut mettre à jour que des caractères complets.
Pour des raisons d’utilisation, l’objet OracleLob hérite de la classe .NET Framework Stream et fournit ReadByte et WriteByte méthodes. Il implémente également des méthodes, telles que CopyTo et Erase, qui fonctionnent sur des sections d’objets Oracle LOB . En revanche, le logiciel client Oracle fournit un certain nombre d’API permettant d’utiliser des LOBde caractères (CLOB et NCLOB). Toutefois, ces API fonctionnent uniquement sur des caractères complets. En raison de cette différence, le fournisseur de données pour Oracle implémente la prise en charge de Read et de ReadByte pour travailler avec les données UTF-16 au niveau des octets. Toutefois, les autres méthodes de l’objet OracleLob autorisent uniquement les opérations de caractère intégral.