Administration

Vous êtes ici : Accueil » Technologie » L’outil Administrateur ODBC affiche les DSN utilisateur 32 bits et 64 bits dans une version 64 bits de Windows

L’outil Administrateur ODBC affiche les DSN utilisateur 32 bits et 64 bits dans une version 64 bits de Windows

Symptômes


Une version 64 bits du système d’exploitation Microsoft Windows inclut les versions suivantes de l’outil Administrateur de sources de données ODBC (Open Database Connectivity) Microsoft (Odbcad32.exe) :
  • La version 32 bits du fichier Odbcad32.exe se trouve dans le dossier %systemdrive%WindowsSysWoW64.
  • La version 64 bits du fichier Odbcad32.exe se trouve dans le dossier%systemdrive%WindowsSystem32.
Le fichier Odbcad32.exe affiche les types suivants de noms de sources de données (DSN) :
  • DSN système
  • DSN utilisateur

Symptôme 1

La version 32 bits de l’outil Administrateur ODBC affiche des DSN système 32 bits, des DSN utilisateur 32 bits et des DSN utilisateur 64 bits. La version 64 bits de l’outil Administrateur ODBC affiche des DSN système 64 bits, des DSN utilisateur 32 bits et des DSN utilisateur 64 bits.

Symptôme 2

La fonction SQLDataSources renvoie toutes les versions de DSN utilisateur, quelle que soit l’architecture de l’application. La fonction SQLDataSources qui est appelée dans une application 32 bits renvoie uniquement des DSN système pour les pilotes 32 bits, mais renvoie des DSN utilisateur pour les pilotes 32 bits et les pilotes 64 bits. De même, la fonction SQLDataSources qui est appelée dans une application 64 bits renvoie uniquement des DSN système pour les pilotes 64 bits, mais renvoie des DSN utilisateur pour les pilotes 32 bits et les pilotes 64 bits. Par conséquent, si l’application établit une connexion en utilisant un DSN utilisateur qui est renvoyé depuis la fonction SQLDataSources, vous pouvez recevoir le message d’erreur suivant :
Source de données introuvable et nom de pilote non spécifié
Par exemple, envisagez le scénario suivant : Vous créez un DSN utilisateur pour le pilote 32 bits « Microsoft Access Driver (*.mdb). » Ce pilote n’a pas de version 64 bits correspondante. La fonction SQLDataSources qui est appelée dans une application 64 bits renvoie ce DSN utilisateur 32 bits. Cependant, si vous établissez une connexion au moyen de ce DSN utilisateur 32 bits, vous obtenez le message d’erreur mentionné plus haut dans cette section.

Cause


Les DSN utilisateur sont stockés sous la sous-clé de Registre suivante :
HKEY_CURRENT_USERSoftwareODBCODBC.INI
La redirection du Registre n’est pas activée pour cette sous-clé de Registre. Par conséquent, les DSN utilisateur sont visibles dans les versions 32 bits et 64 bits de l’outil Administrateur ODBC.

Solution


Pour maintenir la compatibilité descendante, aucune résolution pour ce problème n’est actuellement disponible.

Solution de contournement


Pour contourner ce problème, utilisez la version appropriée de l’outil Administrateur ODBC. Si vous générez et exécutez une application sous la forme d’une application 32 bits sur un système d’exploitation 64 bits, vous devez créer la source de données ODBC en utilisant l’outil Administrateur ODBC dans %windir%SysWOW64odbcad32.exe. Pour indiquer le type de DSN, vous pouvez ajouter « _32 » aux DSN utilisateur 32 bits et « _64 » aux DSN utilisateur 64 bits.

Informations supplémentaires


L’outil Administrateur ODBC 64 bits peut être invoqué à partir du Panneau de configuration pour gérer les DSN utilisateur et les DSN système utilisés par les processus 64 bits. Sur un système d’exportation 64 bits, l’outil Administrateur ODBC 32 bits est utilisé pour Windows sur les processus Windows 64 (WOW64). Vous devez invoquer directement l’outil Administrateur ODBC 32 bits à partir du dossier SysWoW64. Vous pouvez utiliser l’outil Administrateur ODBC 32 bits pour gérer les DSN utilisateur et les DSN système qui sont utilisés par les processus WOW64.

Les DSN système sont stockés dans la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINESoftwareODBCODBC.INI
La redirection du Registre est activée pour cette sous-clé de Registre. Par conséquent, les DSN système pour les pilotes 32 bits et pour les pilotes 64 bits sont séparés. L’outil Administrateur ODBC 64 bits ne peut pas afficher les DSN système qui sont créés par l’outil Administrateur ODBC 32 bits. De même, l’outil Administrateur ODBC 32 bits ne peut pas afficher les DSN système qui sont créés par l’outil Administrateur ODBC 64 bits. En outre, l’outil Administrateur ODBC 64 bits n’affiche pas les DSN système qui utilisent des pilotes 32 bits. De même, l’outil Administrateur ODBC 32 bits n’affiche pas les DSN système qui utilisent des pilotes 64 bits.

Les DSN utilisateur sont stockés dans la sous-clé de Registre suivante :
HKEY_CURRENT_USERSoftwareODBCODBC.INI
La redirection du Registre n’est pas activée pour cette sous-clé de Registre. Par conséquent, les deux outils Administrateur ODBC affichent tous les DSN utilisateur.

Pour plus d’informations sur la redirection du Registre, rendez-vous sur le site Web MSDN (Microsoft Developer Network) suivant :

Date de publication:   14/05/2019 par admin10

Dernière modification: le 14/05/2019 19:36:35 par admin10

Les cours de PHP sur toutes les facettes.

Les cours de PHP sur toutes les facettes.

Page précédent 179 180 181 182 184 186 187 189 190 Page suivante

Laisser un commentaire





grswx5


zack77 Mardi 29 Septembre 2020

Aucun commentaire pour le moment concernant le sujet « L’outil Administrateur ODBC affiche les DSN utilisateur 32 bits et 64 bits dans une version 64 bits de Windows »!