Lorsque j'essaie d'écrire un programme sous Windows qui se connecte à une base de données via ODBC, j'obtiens l'erreur suivante :
[Microsoft][ODBC Driver Manager] Nom de la source de données introuvable et aucun pilote par défaut spécifié.
Je suis sûr que mon code est correct. Il peut même fonctionner sur un autre ordinateur.
Pourquoi est-ce que j'obtiens cette erreur ? Comment puis-je le réparer ?
En mode conception, la valeur a été définie sur la propriété
TFDConnection.ConnectionDefName
Doit être vide.Quelle est la cause de cette erreur ?
En termes simples, le message d'erreur vous indique que le gestionnaire de pilotes ODBC ne peut pas trouver le pilote que vous avez spécifié dans la chaîne de connexion ou le DSN.
Il peut y avoir 3 raisons courantes à cela :
Comment vérifier quels pilotes sont installés sur mon système ?
Vous pouvez vérifier les pilotes installés sur votre système en accédant au gestionnaire de sources de données ODBC. Pour l'ouvrir, appuyez sur ⊞ Win + R et saisissez :
odbcad32.exe
. Vérifiez ensuite l'onglet Pilotes pour obtenir les pilotes installés. La colonne Nom indique le nom exact que vous devez utiliser dans la chaîne de connexion ou le DSN.Si vous utilisez Windows 64 bits, seuls ceux installés sur votre système. Pour voir quels pilotes 32 bits sont installés, appuyez sur ⊞ Win + R et entrez :
C:WindowsSysWOW64odbcad32.exe code> et accédez à nouveau à l'onglet Pilotes.
Le pilote a été installé, mais il se peut qu'il ait un mauvais numéro de bit, que dois-je faire ?
Ensuite, vous avez deux options : soit ajuster le nombre de bits sur lequel le programme s'exécute, soit installer un pilote avec un nombre de bits différent.
Certains pilotes installés par défaut sur Windows n'ont que des variantes 32 bits. Ceux-ci ne peuvent pas être utilisés avec des programmes 64 bits.
Vous pouvez généralement identifier le nombre de bits sur lesquels un programme s'exécute dans le Gestionnaire des tâches. Dans Windows 10, tous les programmes 32 bits ont (32 bits) ajouté à leur nom. Si ce n'est pas le cas, vous exécutez probablement un programme 64 bits, et la plupart des langages et environnements de programmation modernes fonctionnent en 64 bits par défaut, mais vous permettent de passer au 32 bits. Cependant, les détails spécifiques des différents langages de programmation dépassent le cadre de cette question.
Comment vérifier que je n'ai pas saisi le mauvais nom de conducteur ?
La chaîne de connexion ODBC ressemble à ceci :
Si la partie du nom du pilote peut contenir des caractères spéciaux, elle doit être séparée par des accolades et doit correspondre exactement au nom du pilote installé (comme indiqué dans le gestionnaire de sources de données ODBC), y compris les espaces et les caractères typographiques, mais à l'exclusion des lettres majuscules.
Veuillez noter que pour le code déployé, le pilote doit exister sur l'ordinateur/serveur exécutant le code.
Je n'ai pas le pilote, ou le nombre de bits est incorrect, où puis-je obtenir le bon pilote ?
Cela dépend du pilote que vous souhaitez utiliser.
Liste commune des pilotes et emplacements de téléchargement (tous 32 bits et 64 bits à la même URL) :
Si le pilote que vous souhaitez utiliser n'est pas répertorié, vous pouvez généralement trouver facilement l'emplacement à l'aide de Google.