Ole DB-providerfouten voor gekoppelde servers oplossen

Oorspronkelijk KB-nummer: 2555855

Summary

Dit artikel helpt u bij het oplossen van OLE DB-providerfouten die optreden wanneer u T-SQL-query's uitvoert via linked servers of ad-hocquery's met behulp van OPENROWSET of OPENDATASOURCE in Microsoft SQL Server. Deze fouten geven meestal aan dat de OLE DB-provider niet is geïnstalleerd, niet is geregistreerd of niet overeenkomt met de SQL Server-architectuur.

Symptomen

Wanneer u T-SQL-query's uitvoert die gebruikmaken van gekoppelde servers of ad-hocquery's (met behulp OPENROWSET van of OPENDATASOURCE), ontvangt u mogelijk een van de volgende foutberichten:

De OLE DB-provider ProviderName<> is niet geregistreerd. (Microsoft SQL Server, Fout: 7403)

Kan geen exemplaar van OLE DB-provider ProviderNaam<> maken voor gekoppelde server '<LinkedServerName>'. (Microsoft SQL Server, Fout: 7302)

Deze fouten kunnen ook optreden nadat u:

  • Migreer SQL Server van de ene computer naar de andere.
  • Herstel de master database vanaf een andere server.

Oorzaak

SQL Server kan de opgegeven OLE DB-provider niet initialiseren om een van de volgende redenen:

  • De OLE DB-provider of het stuurprogramma is niet geïnstalleerd op de server.
  • De geïnstalleerde provider komt niet overeen met de SQL Server bitness (x86 versus x64).
  • De OLE DB-provider is geïnstalleerd, maar is niet juist geregistreerd.

Opmerking

Wanneer u een gekoppelde server maakt met behulp van sp_addlinkedserver, rapporteert SQL Server niet onmiddellijk fouten die betrekking hebben op de beschikbaarheid van de provider. Deze fouten worden alleen weergegeven wanneer u een query uitvoert die gebruikmaakt van de gekoppelde server.

Solution

Volg de stappen in elke sectie in de opgegeven volgorde om het probleem op te lossen.

De geïnstalleerde OLE DB-providers of -stuurprogramma's controleren

Controleer met een van de volgende methoden welke OLE DB-providers of -stuurprogramma's zijn geregistreerd op uw SQL Server-exemplaar:

  • In SQL Server Management Studio (SSMS), vouw Serverobjecten>Linked Servers>Providers uit om de lijst met geregistreerde OLE DB-providers of -stuurprogramma's weer te geven.

  • Voer de volgende query uit om alle gedefinieerde gekoppelde servers en de bijbehorende providers of stuurprogramma's weer te geven:

    SELECT * FROM sys.servers;
    

    Zie sys.servers (Transact-SQL) voor meer informatie over de kolommen die worden geretourneerd.

De installatie van de provider of het stuurprogramma controleren

Controleer of de juiste OLE DB-provider is geïnstalleerd en overeenkomt met de architectuur van SQL Server:

  1. Controleer of de provider die vereist is voor uw gekoppelde server aanwezig is in de lijst van providers zoals beschreven in De geïnstalleerde OLE DB-providers of stuurprogramma's controleren.

  2. Als de provider ontbreekt, installeert u deze:

    • Voor Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL): Download de nieuwste versie van de downloadpagina van het OLE DB-stuurprogramma Microsoft.
    • Voor externe providers of stuurprogramma's: Neem contact op met de leverancier om het juiste installatieprogramma te verkrijgen.
  3. Zorg ervoor dat de providerversie overeenkomt met de SQL Server-architectuur. Installeer bijvoorbeeld de 64-bits provider voor een 64-bits SQL Server exemplaar.

Zie de installatiecontrole van het OLE DB-stuurprogramma voor meer methoden om de provider te controleren.

De OLE DB-provider registreren

Als het DLL-bestand van de provider bestaat op schijf, maar niet is geregistreerd, installeert u de provider of het stuurprogramma opnieuw met behulp van de stappen in De provider of stuurprogramma-installatie controleren. Opnieuw installeren zorgt ervoor dat het DLL-bestand correct is geregistreerd.

De connectiviteit van de provider controleren

Gebruik een UDL-bestand (Universal Data Link) om te controleren of de OLE DB-provider verbinding kan maken met de doelgegevensbron:

  1. Maak een nieuw .udl-testbestand .
  2. Dubbelklik op het .udl-bestand om het dialoogvenster Eigenschappen van gegevenskoppeling te openen.
  3. Selecteer het tabblad Provider en kies de OLE DB-provider in de lijst.
  4. Voer op het tabblad Verbinding de servernaam en verificatiegegevens in.
  5. Selecteer Verbinding testen om de connectiviteit te controleren.

Zie Test OLE DB-connectiviteit met SQL Server met behulp van een UDL-bestand voor gedetailleerde stappen.

Disclaimer voor informatie van derden

De producten van derden die in dit artikel worden besproken, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft maakt geen garantie, impliciet of anderszins, over de prestaties of betrouwbaarheid van deze producten.