Comment transférer des connexions ODBC d'un serveur vers un autre

Note : Pas de note
Auteur : fabrice69 Article lu 3 696 fois

Description : Dans cet article, vous trouverez la méthode permettant de migrer des connexions ODBC depuis un serveur vers un autre.
Dans cet exemple, on e profitera pour modifier les pilotes utilisés pour les serveurs SQL passant du driver SQL 2000 "SQLSRV32.dll" vers le client natif SQL Server 2005 "sqlncli.dll".




Exporter les connexions ODBC d'un serveur vers un autre

Dans des cas de migration de serveur, il existe souvent une partie pénible qui concerne les connexions ODBC sur le serveur d'origine. Ces connexions peuvent être nombreuses, ainsi la recréation sur le nouveau serveur devient rapidement fastidieuse.

Présentation du cas

Nous allons prendre le cas typique de la migration d'un serveur Windows 2000 vers Windows 2003 dont les connexions pointaient au départ sur SQL Server 2000 et qui doit maintenant pointer sur un serveur SQL Server 2005.

De nombreuses connexions ODBC existent sur ce serveur d'origine sous Windows 2000 qui pointent sur :

  1. Des fichiers physiques
  2. Des bases de données SQL Server 2000
  3. Des bases de données ORACLE
  4. ...

Solution de la migration

On doit donc passer par la base de registre du serveur d'origine pour trouver l'ensemble des connexions existantes sous la clé :

  • HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI

Sous cette clé se trouve alors celle qui liste les connexions dans l'outil d'administration 

  • HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources

Exportation du contenu de la clé

On va donc maintenant exporter dans un fichier texte (xxxx.reg) tout ce qui est sous la clé :

  • HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI

On obtient alors dans ce fichier le contenu suivant :

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI]


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DWHISTO_DAVIS2000]

"Driver"="C:\\WINNT\\System32\\SQLSRV32.dll"

"Description"="DWHISTO_DAVIS2000"

"Server"="MONSERVERSQL"

"Database"="DWHISTO_DAVIS2000"

"LastUser"="MONUSERNT"

"Trusted_Connection"="Yes"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\FoodMart 2000]

"Driver"="C:\\WINNT\\System32\\odbcjt32.dll"

"DBQ"="C:\\Program Files\\Microsoft Analysis Services\\Samples\\FoodMart 2000.mdb"

"DriverId"=dword:00000019

"SafeTransactions"=dword:00000000

"UID"=""


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\FoodMart 2000\Engines]


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\FoodMart 2000\Engines\Jet]

"ImplicitCommitSync"=""

"Threads"=dword:00000003

"UserCommitSync"="Yes"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\LocalServer]

"Description"=""

"Server"="(Local)"

"Trusted_connection"=""

"UseProcForPrepare"="Yes"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC]

"TraceFile"="\\SQL.LOG"

"TraceDll"="C:\\WINNT\\System32\\odbctrac.dll"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]

"LocalServer"="SQL Server"

"DWHISTO_DAVIS2000"="SQL Server"

"FoodMart 2000"="Microsoft Access Driver (*.mdb)"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC File DSN]

"DefaultDSNDir"="C:\\Program Files\\Common Files\\ODBC\\Data Sources"

Détail sur le cas de DWHISTO_DAVIS2000

La définition de la connexion contient les renseignements classiques comme :

  • Driver : DLL du driver utilisé pour cette connexion
  • Description : Description du lien ODBC
  • Server : Nom, IP ou DNS du serveur SQL
  • Database : Nom de la base de donnée
  • LastUser : Nom du User pour la connexion à la base
  • Trusted_Connection : Connexion en authentification intégrée ou non

Il faut donc, dans notre cas, changer la DLL pour utiliser le client NATIF SQL Server 2005 « sqlncli.dll ».

La technique est donc d'ouvrir le fichier xxx.REG dans un éditeur comme Notepad et effectuer les remplacements suivant :

  • « WINNT » remplacé en « WINDOWS »
  • « SQLSRV32.dll » remplacé en « sqlncli.dll »
  • « SQL Server » remplacé en « SQL Native Client »

Le résultat sera donc le suivant :

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI]


 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DWHISTO_DAVIS2000]

"Driver"="C:\\WINDOWS\\system32\\sqlncli.dll"

"Description"="DWHISTO_DAVIS2000"

"Server"="MONSERVERSQL"

"Database"="DWHISTO_DAVIS2000"

"LastUser"="MONUSERNT"

"Trusted_Connection"="Yes"


 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]

"LocalServer"="SQL Native Client"

"FoodMart 2000"="Microsoft Access Driver (*.mdb)"

"DWHISTO_DAVIS2000"="SQL Native Client"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\FoodMart 2000]

"Driver"="C:\\WINDOWS\\System32\\odbcjt32.dll"

"DBQ"="C:\\Program Files\\Microsoft Analysis Services\\Samples\\FoodMart 2000.mdb"

"DriverId"=dword:00000019

"SafeTransactions"=dword:00000000

"UID"=""


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\FoodMart 2000\Engines]


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\FoodMart 2000\Engines\Jet]

"ImplicitCommitSync"=""

"Threads"=dword:00000003

"UserCommitSync"="Yes"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\LocalServer]

"Description"=""

"Server"="(Local)"

"Trusted_connection"=""

"UseProcForPrepare"="Yes"


[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC]

"TraceFile"="\\SQL.LOG"

"TraceDll"="C:\\WINDOWS\\System32\\odbctrac.dll"


 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC File DSN]

"DefaultDSNDir"="C:\\Program Files\\Common Files\\ODBC\\Data Sources"



Une fois ce fichier généré, il suffit de l'exécuter sur le nouveau serveur Windows 2003.

On retrouve alors la liste des connexions ODBC sur le serveur fonctionnant alors avec les pilotes natifs SQL Server 2005.



A Propos de l'auteur

Romelard Fabrice [MVP]

Intranet/Extranet CTO - SGS



[ Voir la fiche de fabrice69 ] - [ Voir tous les articles de fabrice69 ] - [ Contacter fabrice69 ] - [ Visiter le site de fabrice69 ]



Mots définissants ce tutorial

Mot(s) associé(s) :

windows export odbc connexion




Commentaire(s)

Aucun commentaire pour le moment

Ajouter un commentaire :

Pour ajouter un commentaire, vous devez vous identifier :
Si vous n'avez pas encore de compte sur un des sites TechnoS-SourceS / CodeS-SourceS cliquez ici pour créer votre compte.

Login et mot de passe que vous avez sur
CodeS-SourceS/TechnoS-SourceS




Mot de passe oublié ? / Activation de compte
Créer un compte