Freigeben über


Testen der OLE DB-Konnektivität mit SQL Server mithilfe einer UDL-Datei

Gilt für: SQL Server

Notiz

Bevor Sie mit der Problembehandlung beginnen, überprüfen Sie die Voraussetzungen , und durchlaufen Sie die Checkliste.

In diesem Artikel wird beschrieben, wie Sie eine UDL-Datei (Universal Data Link) erstellen und verschiedene Anbieter verwenden, um die Verbindung mit einer SQL Server-Instanz über die Datei zu testen.

Erstellen einer UDL-Datei

Notiz

Mit einer UDL-Datei können Sie die Objektverknüpfungs- und Einbettungsdatenbank(OLE DB)-Anbieterkonnektivität mit einer beliebigen Back-End-Datenbank testen, unabhängig von einer vollständigen Anwendung. Wenn Sie eine UDL-Datei speichern, wird eine wohlgeformte Verbindungszeichenfolge generiert, die Sie verwenden können, um die Verbindungszeichenfolge einer Anwendung zu erstellen oder zu überprüfen, wie unterschiedliche Eigenschaften festgelegt werden. Um die Zeichenfolge abzurufen, öffnen Sie die Datei im Editor.

Führen Sie die folgenden Schritte aus, um eine UDL-Datei zum Testen Ihres OLE DB-Anbieters zu erstellen:

  1. Führen Sie die folgenden Schritte aus, um Dateierweiterungen in Explorer anzuzeigen:

    1. Wählen Sie "Start" aus, und geben Sie Explorer Optionen ein.

    2. Wählen Sie die Registerkarte "Ansicht" aus, deaktivieren Sie die Option "Erweiterungen für bekannte Dateitypen ausblenden", und wählen Sie dann "OK" aus.

  2. Navigieren Sie zu dem Ordner, in dem Sie eine UDL-Datei erstellen möchten. Beispiel : C:\temp.

  3. Erstellen Sie eine neue Textdatei (z . B. sqlconn.txt), und benennen Sie die Erweiterung von .txt in UDL um. (Wählen Sie Ja zur Warnmeldung zum Ändern der Dateinamenerweiterung.)

    Sie können auch das folgende PowerShell-Skript verwenden, um sqlconn.udl im Ordner %temp% zu erstellen.

    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")
    

Testen der Verbindung mithilfe des SQL Server OLE DB-Treibers

Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL) ist der neueste SQL Server OLE DB-Treiber. Der Treiber verfügt über neue Features wie TLS 1.2 und 1.3, MultiSubnetFailover und Azure-Authentifizierungsmethoden (Microsoft Entra ID). Wir empfehlen diesen Treiber für neuere SQL Server-Datenbanken.

Microsoft OLE DB-Anbieter für SQL Server (SQLOLEDB) ist der ältere OLE DB-Konnektivitätsanbieter. Es ist in Windows integriert und kann eine Verbindung mit einer beliebigen Version von SQL Server herstellen, die nicht für TLS 1.2- oder 1.3-Kanalbindungen konfiguriert ist.

Führen Sie die folgenden Schritte aus, um die Verbindung mithilfe des Microsoft OLE DB-Treibers oder -Anbieters für SQL Server zu testen:

  1. Öffnen Sie die UDL-Datei.

  2. Wählen Sie die Registerkarte "Anbieter " aus, wählen Sie den OLE DB-Treiber oder -Anbieter aus, den Sie in Ihrer Anwendung verwenden, und wählen Sie dann "Weiter" aus.

  3. Geben Sie auf der Registerkarte "Verbindung " das Netzwerkprotokoll, den vollqualifizierten Domänennamen (FQDN) und die Portnummer unter "Auswählen" an, oder geben Sie einen Servernamen ein. Beispiel: tcp:SQLProd01.contoso.com,1433.

    Notiz

    Diese Art der Eingabe des Servernamens und des Ports vermeidet häufige Probleme (z. B. sql Server-Browserdienstprobleme), die eine Verbindung beeinträchtigen könnten.

  4. Geben Sie andere Eigenschaften auf der Registerkarte "Verbindung " ein.

    Notiz

    Bei den meisten Verbindungstests müssen Sie keinen Datenbanknamen eingeben.

  5. Wählen Sie Verbindung testen aus.

Sie können auch andere Registerkarten auswählen und andere Treibereinstellungen erkunden. Wenn der Verbindungstest abgeschlossen ist, wählen Sie "OK" aus, um die Verbindungszeichenfolge in einer Datei zu speichern.

Testen der Verbindung mithilfe des Microsoft OLE DB-Anbieters für ODBC-Treiber

Führen Sie die folgenden Schritte aus, um Open Database Connectivity (ODBC)-Treiber mithilfe des Microsoft OLE DB-Anbieters für ODBC-Treiber zu testen:

  1. Öffnen Sie die UDL-Datei.

  2. Wählen Sie als Nächstes den Anbieter microsoft OLE DB-Anbieter>für ODBC-Treiber>aus.

  3. Auf der Registerkarte "Verbindung " können Sie eine der folgenden Methoden verwenden, um die Datenquelle anzugeben, und dann andere Eigenschaften eingeben.

    • Geben Sie einen Wert in das Feld "Datenquellenname verwenden" ein.

    • Geben Sie eine DSN-weniger-Verbindungszeichenfolge wie Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes.

  4. Wählen Sie Verbindung testen aus.

Testen von 32-Bit-Anbietern auf 64-Bit-Computern

Führen Sie die folgenden Schritte aus, um die Verbindung von 32-Bit-Anbietern in 64-Bit-Betriebssystemen zu testen:

  1. Führen Sie im Eingabeaufforderungsfenster den folgenden Befehl aus, um die 32-Bit-Eingabeaufforderung zu öffnen:

    %windir%\SysWoW64\cmd.exe
    
  2. Führen Sie den folgenden Befehl aus, um die UDL-Datei zu öffnen:

    C:\temp\test.udl
    
  3. Wenn Microsoft Jet 4.0 OLE DB-Anbieter auf der Registerkarte "Anbieter " angezeigt wird, haben Sie das 32-Bit-Dialogfeld erfolgreich geladen und können nun den 32-Bit-Anbieter auswählen, um die Verbindung zu testen.

Starten einer UDL-Datei

Doppelklicken Sie auf eine UDL-Datei, um sie zu starten. Im Folgenden wird der zugrunde liegende Prozess beschrieben, der beim Starten einer UDL-Datei verwendet wird.

Die Ui der UDL-Datei wird von OLEDB32.DLL bereitgestellt und in RUNDLL32.EXE gehostet.

  • Verwenden Sie für 32-Bit-Betriebssysteme oder für 64-Bit-Anbieter auf 64-Bit-Betriebssystemen den folgenden Befehl (vorausgesetzt C:\temp\test.udl):

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

  • Verwenden Sie für 32-Bit-Anbieter auf 64-Bit-Betriebssystemen den folgenden Befehl:

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

Die UDL-Dateierweiterung ist dem ersten Befehl zugeordnet. Bei 32-Bit-Anbietern auf 64-Bit-Betriebssystemen können Sie dies vereinfachen, indem Sie eine 32-Bit-Eingabeaufforderung ausführen, um dann START C:\TEMP\TEST.UDL auszuführen und die 32-Bit-Anbieter zu testen. Optional können Sie eine Dateierweiterungszuordnung erstellen, die den 32-Bit-Befehl verwendet.

Erstellen einer 32-Bit-UDL32-Dateierweiterungszuordnung

Wenn Sie häufig 32-Bit-Anbieter auf einem 64-Bit-Betriebssystem verwenden, können Sie eine neue Dateierweiterung (z. B. .udl32) zuordnen, um das 32-Bit-UDL-Dialogfeld mithilfe der folgenden Schritte zu starten.

Von Bedeutung

Dieser Abschnitt, die Methode oder die Aufgabe enthält Schritte, mit denen Sie erfahren, wie Sie die Registrierung ändern. Es können jedoch schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie diese Schritte sorgfältig ausführen. Erstellen Sie eine Sicherungskopie der Registrierung, bevor Sie Änderungen vornehmen, damit Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

  1. Kopieren Sie das folgende Skript in Notepad und speichern Sie es 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. Doppelklicken Sie auf die .reg Datei, um einen Registrierungsschlüssel zu erstellen, mit dem Sie UDL32-Dateien automatisch starten können.

  3. Erstellen Sie eine Datei mit der Dateierweiterung UDL32 . Beispiel : C:\temp\test.udl32.

  4. Doppelklicken Sie auf " test.udl32 ", um das 32-Bit-UDL-Dialogfeld zu starten. So wird beispielsweise ein Dialogfeld wie folgt angezeigt:

    Screenshot zeigt ein Beispiel für ein 32-Bit-UDL-Dialogfeld.

Tipps zur Problembehandlung von Verbindungsproblemen

Mit den folgenden Methoden können Sie überprüfen, warum die Verbindung fehlschlägt.

  • Ändern Sie den Anbieter.
  • Ändern Sie das Protokoll. Beispiel: tcp:, np: oder lpc:.
  • Testen Sie die Verbindung mit oder ohne das vollständige Domänensuffix oder nur mit der IP-Adresse.
  • Entfernen Sie die Portnummer, und verwenden Sie den Instanznamen, um den SQL Server-Browserdienst zu testen.

Wenn eine Kombination funktioniert und eine andere fehlschlägt, könnte sie für jede der oben genannten Methoden einen Hinweis auf das Problem geben. Wenn Sie beispielsweise die zweite Methode verwenden, versuchen lpc:tcp: Sie, das TCP-Protokoll in SQL Server-Konfigurations-Manager zu aktivieren.

Siehe auch

Konfiguration für universelle Datenverbindung (UDL)

Notiz

Wenn Ihr Problem in diesem Artikel nicht behoben wird, können Sie die Problembehandlung von Konnektivitätsproblemen in SQL Server überprüfen, um weitere Hilfe zu erhalten.