Résoudre les erreurs du fournisseur OLE DB pour les serveurs liés

Numéro de base de connaissances d’origine : 2555855

Summary

Cet article vous aide à résoudre les erreurs du fournisseur OLE DB qui se produisent lorsque vous exécutez des requêtes T-SQL via des serveurs ou des requêtes ad hoc à l’aide de OPENROWSET ou OPENDATASOURCE dans Microsoft SQL Server. Ces erreurs indiquent généralement que le fournisseur OLE DB n'est pas installé, n'est pas inscrit ou ne correspond pas à l'architecture SQL Server.

Symptoms

Lorsque vous exécutez des requêtes T-SQL qui utilisent des serveurs liés ou des requêtes ad hoc (à l’aide OPENROWSET ou OPENDATASOURCE), vous pouvez recevoir l’un des messages d’erreur suivants :

Le fournisseur OLE DB «< ProviderName> » n’a pas été inscrit. (Microsoft SQL Server, Erreur : 7403)

Impossible de créer une instance du fournisseur OLE DB «< ProviderName> » pour le serveur lié «< LinkedServerName> ». (Microsoft SQL Server, Erreur : 7302)

Ces erreurs peuvent également se produire après :

  • Migrez SQL Server d’un ordinateur vers un autre.
  • Restaurez la master base de données à partir d’un autre serveur.

La cause

SQL Server ne pouvez pas initialiser le fournisseur OLE DB spécifié pour l'une des raisons suivantes :

  • Le fournisseur ou le pilote OLE DB n’est pas installé sur le serveur.
  • Le fournisseur installé ne correspond pas à l'architecture SQL Server (x86 ou x64).
  • Le fournisseur OLE DB est installé, mais n’est pas correctement inscrit.

Note

Lorsque vous créez un serveur lié à l'aide de sp_addlinkedserver, SQL Server ne signale pas immédiatement les erreurs liées à la disponibilité du fournisseur. Ces erreurs s’affichent uniquement lorsque vous exécutez une requête qui utilise le serveur lié.

Solution

Pour résoudre le problème, suivez les étapes de chaque section dans l’ordre donné.

Vérifier les fournisseurs ou pilotes OLE DB installés

Vérifiez quels fournisseurs ou pilotes OLE DB sont inscrits sur votre instance de SQL Server à l’aide de l’une des méthodes suivantes :

  • Dans SQL Server Management Studio (SSMS), développez Server Objects>Linked Servers>Providers pour afficher la liste des fournisseurs ou pilotes OLE DB inscrits.

  • Exécutez la requête suivante pour voir tous les serveurs liés définis et leurs fournisseurs ou pilotes associés :

    SELECT * FROM sys.servers;
    

    Pour plus d’informations sur les colonnes retournées, consultez sys.servers (Transact-SQL).

Vérifier l’installation du fournisseur ou du pilote

Vérifiez que le fournisseur OLE DB correct est installé et correspond à l'architecture de SQL Server :

  1. Vérifiez si le fournisseur requis par votre serveur lié est présent dans la liste des fournisseurs à partir de Vérifier les fournisseurs ou pilotes OLE DB installés.

  2. Si le fournisseur est manquant, installez-le :

    • For Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) : Téléchargez la dernière version à partir de la page de téléchargement du Microsoft OLE DB Driver.
    • Pour les fournisseurs ou pilotes tiers : Contactez le fournisseur pour obtenir le programme d’installation approprié.
  3. Assurez-vous que la version du fournisseur correspond à l’architecture SQL Server. Par exemple, installez le fournisseur 64 bits pour une instance de SQL Server 64 bits.

Pour plus de méthodes pour vérifier le fournisseur, consultez la vérification de l’installation du pilote OLE DB.

Inscrire le fournisseur OLE DB

Si la DLL du fournisseur existe sur le disque, mais n’est pas inscrite, réinstallez le fournisseur ou le pilote en suivant les étapes décrites dans Vérifier l’installation du fournisseur ou du pilote. La réinstallation garantit que la DLL est correctement inscrite.

Vérifier la connectivité du fournisseur

Utilisez un fichier UDL (Universal Data Link) pour vérifier que le fournisseur OLE DB peut se connecter à la source de données cible :

  1. Créez un fichier de test .udl .
  2. Double-cliquez sur le fichier .udl pour ouvrir la boîte de dialogue Propriétés de la liaison de données .
  3. Sélectionnez l’onglet Fournisseur , puis choisissez le fournisseur OLE DB dans la liste.
  4. Sous l’onglet Connexion , entrez le nom du serveur et les détails de l’authentification.
  5. Sélectionnez Tester la connexion pour vérifier la connectivité.

Pour obtenir des instructions détaillées, consultez Testez la connectivité OLE DB à SQL Server à l’aide d’un fichier UDL.

Exclusion de responsabilité des informations tierces

Les produits tiers que cet article traite sont fabriqués par des entreprises indépendantes de Microsoft. Microsoft n’apporte aucune garantie, implicite ou autre, sur les performances ou la fiabilité de ces produits.