web-dev-qa-db-fra.com

[Microsoft] [Gestionnaire de pilotes ODBC] Nom de source de données introuvable et aucun pilote par défaut spécifié

J'essaie d'ouvrir un programme pour la première fois sous Windows XP Pro utilisant PostgreSQL 9. Je reçois un message d'erreur indiquant:

Un problème est survenu lors de la tentative de connexion ou de création du fichier base de données de production. Détails: [Microsoft] [Gestionnaire de pilotes ODBC] Données nom de source introuvable et aucun pilote par défaut spécifié

Dans mon gestionnaire ODBC, j'ai une liste des DSN utilisateur et DSN système. J'ai essayé d'installer un pilote postgres odbc pour voir si cela aiderait, mais ce ne fut pas le cas. 

Il y a un fichier connect.dat dans le fichier programme avec une ligne disant "Fournisseur OLE DB = MSDASQL". La modification de cette entrée modifie le message d'erreur auquel je parviens: "Le fournisseur n'est pas trouvé, il n'est peut-être pas installé correctement". 

Je ne sais pas quel nom de fournisseur insérer pour que cela fonctionne correctement. J'ai fait des recherches approfondies sur cette erreur en vain. Toutes les suggestions seraient grandement appréciées.

37
user2437443
  1. En référence à l'erreur: [Microsoft] [Gestionnaire de pilotes ODBC] Nom de source de données introuvable et aucun pilote par défaut spécifié. 

    Cette erreur signifie que le nom de source de données (DSN) que vous spécifiez dans votre configuration de connexion ne se trouve pas dans le registre Windows.

    • Il est important que l'exécutable et le format de liaison (ELF) de votre pilote ODBC soient identiques à ceux de votre application. En d'autres termes, vous avez besoin d'un pilote 32 bits pour une application 32 bits ou d'un pilote 64 bits pour une application 64 bits.

      Si ceux-ci ne correspondent pas, il est possible de configurer un DSN pour un pilote 32 bits et lorsque vous essayez d'utiliser ce DSN dans une application 64 bits, le DSN ne sera pas trouvé car le registre contient des informations DSN à des emplacements différents. en fonction de ELF (32 bits par rapport à 64 bits).

      Assurez-vous que vous utilisez le bon outil d’administrateur ODBC. Sous Windows 32 bits et 64 bits, l'outil Administrateur ODBC par défaut est au format c:\Windows\System32\odbcad32.exe. Toutefois, sur un ordinateur Windows 64 bits, la version 64 bits est utilisée par défaut. Si vous devez utiliser l'outil administrateur ODBC 32 bits sur un système Windows 64 bits, vous devrez exécuter celui que vous trouverez ici: C:\Windows\SysWOW64\odbcad32.exe

      Nous voyons ceci faire trébucher les gens, c’est quand un utilisateur utilise l’administrateur ODBC par défaut de 64 bits pour configurer un DSN; pensant que c'est pour un DSN 32 bits. Ensuite, lorsque l'application 32 bits tente de se connecter à l'aide de ce DSN, le message "Source de données non trouvée ..." apparaît. 

    • Il est également important de vous assurer que l'orthographe du DSN correspond à celle du DSN configuré dans l'administrateur ODBC. Une lettre erronée est tout ce qu'il faut pour qu'un DSN soit incompatible.

      Voici un article qui peut fournir des détails supplémentaires

      Ce n'est peut-être pas la même marque de produit que vous avez, cependant; il s'agit d'un problème générique rencontré lors de l'utilisation des noms de source de données ODBC.

  2. En référence à la partie OLE du fournisseur de base de données de votre question, il semble s'agir d'un type de problème similaire dans lequel l'application n'est pas en mesure de localiser la configuration pour le fournisseur spécifié.

40
PRGSTony

Vous avez cette erreur parce que j'avais le nom de la source de données dans DSN utilisateur au lieu de DSN système enter image description here

22
Nick

Le problème peut provenir du nom du pilote, par exemple, au lieu de DRIVER={MySQL ODBC 5.3 Driver} try DRIVER={MySQL ODBC 5.3 Unicode Driver}, vous pouvez voir le nom du pilote à partir de l'outil d'administration.

3
Meysam

Je l'ai eu avec des tests basés sur les données en utilisant:

Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)

Le problème est que le pilote ci-dessus est uniquement 32 bits. J'avais basculé le fichier de tests de Visual Studio en 64 bits pour tester une application 64 bits uniquement.

Revenir en arrière sur 32 bits dans le fichier testsettings a résolu le problème.

en utilisant un fichier de paramètres de test

3
N-ate

J'ai essayé ce qui précède, mais j'ai trouvé que mon problème était d'utiliser un | au nom du DSN (j'ai multiplié les connecteurs ODBC - un pour chaque DB - pour m'assurer de ne pas mêler des données)

J'ai remplacé le | (pipe) avec un _ et tout fonctionne maintenant bien.

J'essayais d'appeler SQL Server à partir d'Alteryx.

0
calep

En suivant les instructions ici http://help.loftware.com/pages/viewpage.action?pageId=27099554 Je devais installer le Microsoft Access Database Engine 2010 Redistributable avant le pilote Excel installé utiliser la connexion sans DSN que je voulais utiliser de Perl.

0
Matthew Lock