Delen via


OLE DB-connectiviteit met SQL Server testen met behulp van een UDL-bestand

Van toepassing op: SQL Server

Notitie

Voordat u begint met het oplossen van problemen, controleert u de vereisten en doorloopt u de controlelijst.

In dit artikel wordt beschreven hoe u een UDL-bestand (Universal Data Link) maakt en verschillende providers gebruikt om de verbinding met een SQL Server-exemplaar via het bestand te testen.

Een UDL-bestand maken

Notitie

Met een UDL-bestand kunt u de connectiviteit van OLE DB-providers (Object Linking and Embedding Database) testen met elke back-enddatabase, onafhankelijk van een volledige toepassing. Als u een UDL-bestand opslaat, wordt er een goed opgemaakte verbindingsreeks gegenereerd, die u kunt gebruiken om de verbindingsreeks van een toepassing te bouwen of te controleren hoe u verschillende eigenschappen instelt. Als u de tekenreeks wilt ophalen, opent u het bestand in Kladblok.

Voer de volgende stappen uit om een UDL-bestand te maken om uw OLE DB-provider te testen:

  1. Voer de volgende stappen uit om bestandsextensies in Bestandenverkenner weer te geven:

    1. Selecteer Start en voer Bestandenverkenner Opties in.

    2. Selecteer het tabblad Weergave , schakel de optie Extensies verbergen voor bekende bestandstypen uit en selecteer VERVOLGENS OK.

  2. Navigeer naar de map waarin u een UDL-bestand wilt maken. Bijvoorbeeld C:\temp.

  3. Maak een nieuw tekstbestand (zoals sqlconn.txt) en wijzig de extensie van .txt in .udl. (Selecteer Ja op het waarschuwingsbericht over het wijzigen van de bestandsnaamextensie.)

    U kunt ook het volgende PowerShell-script gebruiken om sqlconn.udl te maken in de map %temp%.

    clear
    $ServerName = "(local)"
    $UDL_String = "[oledb]`r`n; Everything after this line is an OLE DB initstring`r`nProvider=MSOLEDBSQL.1;Integrated Security=SSPI;Persist Security Info=False;User ID=`"`";Initial Catalog=`"`";Data Source=" + $ServerName + ";Initial File Name=`"`";Server SPN=`"`";Authentication=`"`";Access Token=`"`""
    Set-Content -Path ($env:temp + "\sqlconn.udl") -Value $UDL_String -Encoding Unicode
    
    #open the UDL
    Invoke-Expression ($env:temp + "\sqlconn.udl")
    

De verbinding testen met behulp van het SQL Server OLE DB-stuurprogramma

Microsoft OLE DB-stuurprogramma voor SQL Server (MSOLEDBSQL) is het meest recente SQL Server OLE DB-stuurprogramma. Het stuurprogramma heeft nieuwe functies, zoals TLS 1.2 en 1.3, MultiSubnetFailover en Azure-verificatiemethoden (Microsoft Entra-id). We raden dit stuurprogramma aan voor nieuwere SQL Server-databases.

Microsoft OLE DB-provider voor SQL Server (SQLOLEDB) is de verouderde OLE DB-connectiviteitsprovider. Het is ingebouwd in Windows en kan verbinding maken met elke versie van SQL Server die niet is geconfigureerd om TLS 1.2- of 1.3-kanaalbindingen te vereisen.

Voer de volgende stappen uit om de verbinding te testen met behulp van het Microsoft OLE DB-stuurprogramma of -provider voor SQL Server:

  1. Open het UDL-bestand.

  2. Selecteer het tabblad Provider , selecteer het OLE DB-stuurprogramma of de provider die u in uw toepassing gebruikt en selecteer vervolgens Volgende.

  3. Geef op het tabblad Verbinding het netwerkprotocol, de FQDN (Fully Qualified Domain Name) en het poortnummer onder Een servernaam selecteren of invoeren. Bijvoorbeeld: tcp:SQLProd01.contoso.com,1433.

    Notitie

    Op deze manier voor het invoeren van de servernaam en poort worden veelvoorkomende problemen (zoals de SQL Server Browser-serviceproblemen) voorkomen die een verbinding kunnen verstoren.

  4. Voer andere eigenschappen in op het tabblad Verbinding .

    Notitie

    Voor de meeste verbindingstests hoeft u geen databasenaam in te voeren.

  5. Selecteer Verbinding testen.

U kunt ook andere tabbladen selecteren en andere stuurprogramma-instellingen verkennen. Wanneer de verbindingstest is voltooid, selecteert u OK om de verbindingsreeks op te slaan in een bestand.

Verbinding testen met behulp van Microsoft OLE DB-provider voor ODBC-stuurprogramma's

Als u ODBC-stuurprogramma's (Open Database Connectivity) wilt testen met behulp van Microsoft OLE DB-provider voor ODBC-stuurprogramma's, voert u de volgende stappen uit:

  1. Open het UDL-bestand.

  2. Selecteer Vervolgens >Microsoft OLE DB-provider voor ODBC-stuurprogramma's.>

  3. Op het tabblad Verbinding kunt u een van de volgende methoden gebruiken om de gegevensbron op te geven en vervolgens andere eigenschappen in te voeren.

    • Voer een waarde in het veld Naam van gegevensbron gebruiken in.

    • Voer een DSN-less-verbindingsreeks in, zoals Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes.

  4. Selecteer Verbinding testen.

32-bits providers testen op 64-bits machines

Voer de volgende stappen uit om de verbinding van 32-bits providers in 64-bits besturingssystemen te testen:

  1. Voer in het opdrachtpromptvenster de volgende opdracht uit om de 32-bits opdrachtprompt te openen:

    %windir%\SysWoW64\cmd.exe
    
  2. Voer de volgende opdracht uit om het UDL-bestand te openen:

    C:\temp\test.udl
    
  3. Als u Microsoft Jet 4.0 OLE DB Provider ziet op het tabblad Provider , hebt u het 32-bits dialoogvenster geladen en kunt u nu de 32-bits provider selecteren om de verbinding te testen.

Een UDL-bestand starten

Dubbelklik op een UDL-bestand om het te starten. Hieronder wordt het onderliggende proces beschreven dat wordt gebruikt bij het starten van een UDL-bestand.

De gebruikersinterface van het UDL-bestand wordt geleverd door OLEDB32.DLL en gehost in RUNDLL32.EXE.

  • Gebruik voor 32-bits besturingssystemen of voor 64-bits providers op 64-bits besturingssystemen de volgende opdracht (ervan uitgaande C:\temp\test.udl):

    Rundll32.exe "C:\Program Files\Common Files\System\OLE DB\oledb32.dll",OpenDSLFile C:\temp\test.udl

  • Gebruik de volgende opdracht voor 32-bits providers op 64-bits besturingssystemen:

    C:\Windows\SysWOW64\Rundll32.exe "C:\Program Files (x86)\Common Files\system\Ole DB\oledb32.dll",OpenDSLFile C:\temp\test.udl

De bestandsextensie .udl is toegewezen aan de eerste opdracht. Voor 32-bits providers op 64-bits besturingssystemen kunt u dingen vereenvoudigen door een 32-bits opdrachtprompt uit te voeren en vervolgens uit te voeren START C:\TEMP\TEST.UDL om 32-bits providers te testen. U kunt desgewenst een bestandsextensietoewijzing maken die gebruikmaakt van de 32-bits opdracht.

Een 32-bits UDL32-bestandsextensietoewijzing maken

Als u vaak 32-bits providers op een 64-bits besturingssysteem gebruikt, kunt u een nieuwe bestandsextensie (bijvoorbeeld .udl32) toewijzen om het 32-bits UDL-dialoogvenster te starten door de volgende stappen uit te voeren.

Belangrijk

Dit gedeelte, deze methode of taak bevat stappen die je vertellen hoe je het register kunt wijzigen. Er kunnen echter ernstige problemen optreden als u het register onjuist wijzigt. Zorg er daarom voor dat u deze stappen zorgvuldig volgt. Maak ter beveiliging een back-up van het register voordat u het wijzigt, zodat u het kunt herstellen als er zich een probleem voordoet. Voor meer informatie over hoe u het register kunt back-uppen en herstellen, zie Hoe het register in Windows back-uppen en herstellen.

  1. Kopieer het volgende script naar Kladblok en sla het op als udl32.reg.

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\.UDL32]
    @="ft000001"
    
    [HKEY_CLASSES_ROOT\ft000001]
    @="Microsoft Data Link 32"
    "BrowserFlags"=dword:00000008
    "EditFlags"=dword:00000000
    
    [HKEY_CLASSES_ROOT\ft000001\shell]
    @="open"
    
    [HKEY_CLASSES_ROOT\ft000001\shell\open]
    
    [HKEY_CLASSES_ROOT\ft000001\shell\open\command]
    @="C:\\Windows\\SysWOW64\\Rundll32.exe \"C:\\Program Files (x86)\\Common Files\\system\\Ole DB\\oledb32.dll\",OpenDSLFile %1"
    
    [HKEY_CLASSES_ROOT\ft000001\shell\open\ddeexec]
    
  2. Dubbelklik op het .reg-bestand om een registersleutel te maken, waarmee u automatisch UDL32-bestanden kunt starten.

  3. Maak een bestand met de bestandsextensie .udl32 . Bijvoorbeeld C:\temp\test.udl32.

  4. Dubbelklik op de test.udl32 om het 32-bits UDL-dialoogvenster te starten. U ziet bijvoorbeeld een dialoogvenster dat er als volgt uitziet:

    Schermopname van een voorbeeld van een 32-bits UDL-dialoogvenster.

Tips voor het oplossen van verbindingsproblemen

U kunt de volgende methoden gebruiken om te controleren waarom de verbinding mislukt.

  • Wijzig de provider.
  • Wijzig het protocol. Bijvoorbeeld tcp:, np: of lpc:.
  • Test de verbinding met of zonder het volledige domeinachtervoegsel of alleen het IP-adres.
  • Verwijder het poortnummer en gebruik de naam van het exemplaar om de SQL Server Browser-service te testen.

Als voor elk van de bovenstaande methoden één combinatie werkt en een andere mislukt, kan dit een aanwijzing geven over het probleem. Als u bijvoorbeeld de tweede methode gebruikt en dit niet werkt lpc:tcp: , probeert u het TCP-protocol in te schakelen in SQL Server Configuration Manager.

Zie ook

UDL-configuratie (Universal Data Link)

Notitie

Als dit artikel uw probleem niet oplost, kunt u de pagina Problemen met connectiviteit in SQL Server oplossen raadplegen voor extra hulp.