Udostępnij za pomocą


Testowanie łączności OLE DB z programem SQL Server przy użyciu pliku UDL

Dotyczy: SQL Server

Uwaga 16.

Przed rozpoczęciem rozwiązywania problemów sprawdź wymagania wstępne i zapoznaj się z listą kontrolną.

W tym artykule opisano sposób tworzenia pliku usługi Universal Data Link (UDL) i używania różnych dostawców do testowania połączenia z wystąpieniem programu SQL Server za pośrednictwem pliku.

Tworzenie pliku UDL

Uwaga 16.

Plik UDL umożliwia testowanie łączności dostawców usługi Object Linking and Embedding Database (OLE DB) z dowolną bazą danych zaplecza niezależnie od pełnej aplikacji. Zapisanie pliku UDL generuje prawidłowo sformułowaną parametry połączenia, której można użyć do utworzenia parametry połączenia aplikacji lub sprawdzenia, jak ustawić różne właściwości. Aby pobrać ciąg, otwórz plik w Notatniku.

Aby utworzyć plik UDL w celu przetestowania dostawcy OLE DB, wykonaj następujące kroki:

  1. Aby wyświetlić rozszerzenia plików w Eksplorator plików, wykonaj następujące kroki:

    1. Wybierz pozycję Start, a następnie wprowadź opcje Eksplorator plików.

    2. Wybierz kartę Widok , usuń zaznaczenie opcji Ukryj rozszerzenia dla znanych typów plików, a następnie wybierz przycisk OK.

  2. Przejdź do folderu, w którym chcesz utworzyć plik UDL. Na przykład C:\temp.

  3. Utwórz nowy plik tekstowy (na przykład sqlconn.txt), a następnie zmień nazwę rozszerzenia z .txt na .udl. (Wybierz Tak do komunikatu ostrzegawczego o zmianie rozszerzenia nazwy pliku).

    Możesz również użyć następującego skryptu programu PowerShell, aby utworzyć plik sqlconn.udl w folderze %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")
    

Testowanie połączenia przy użyciu sterownika OLE DB programu SQL Server

Sterownik MICROSOFT OLE DB dla programu SQL Server (MSOLEDBSQL) to najnowszy sterownik OLE DB programu SQL Server. Sterownik ma nowe funkcje, takie jak TLS 1.2 i 1.3, MultiSubnetFailover i metody uwierzytelniania platformy Azure (Microsoft Entra ID). Zalecamy ten sterownik dla nowszych baz danych programu SQL Server.

Dostawca microsoft OLE DB dla programu SQL Server (SQLOLEDB) jest starszym dostawcą łączności OLE DB. Jest on wbudowany w system Windows i może łączyć się z dowolną wersją programu SQL Server, która nie jest skonfigurowana do wymagania powiązań kanałów TLS 1.2 lub 1.3.

Aby przetestować połączenie przy użyciu sterownika lub dostawcy OLE DB firmy Microsoft dla programu SQL Server, wykonaj następujące kroki:

  1. Otwórz plik UDL.

  2. Wybierz kartę Dostawca , wybierz sterownik lub dostawcę OLE DB, którego używasz w aplikacji, a następnie wybierz przycisk Dalej.

  3. Na karcie Połączenie określ protokół sieciowy, w pełni kwalifikowaną nazwę domeny (FQDN) i numer portu w obszarze Wybierz lub wprowadź nazwę serwera. Na przykład tcp:SQLProd01.contoso.com,1433.

    Uwaga 16.

    Ten sposób wprowadzania nazwy serwera i portu pozwala uniknąć typowych problemów (takich jak problemy z usługą SQL Server Browser), które mogą zakłócać połączenie.

  4. Wprowadź inne właściwości na karcie Połączenie .

    Uwaga 16.

    Większość testów połączenia nie wymaga wprowadzenia nazwy bazy danych.

  5. Wybierz pozycję Testuj połączenie.

Możesz również wybrać inne karty i eksplorować inne ustawienia sterowników. Po zakończeniu testu połączenia wybierz przycisk OK, aby zapisać parametry połączenia w pliku.

Testowanie połączenia przy użyciu dostawcy MICROSOFT OLE DB dla sterowników ODBC

Aby przetestować sterowniki open database connectivity (ODBC) przy użyciu dostawcy Microsoft OLE DB dla sterowników ODBC, wykonaj następujące kroki:

  1. Otwórz plik UDL.

  2. Wybierz pozycję Dostawca Microsoft OLE DB Provider>dla sterowników>ODBC Dalej.

  3. Na karcie Połączenie możesz użyć jednej z następujących metod, aby określić źródło danych, a następnie wprowadzić inne właściwości.

    • Wprowadź wartość w polu Użyj nazwy źródła danych.

    • Wprowadź parametry połączenia bez nazwy DSN, na przykład Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes.

  4. Wybierz pozycję Testuj połączenie.

Testowanie dostawców 32-bitowych na maszynach 64-bitowych

Aby przetestować połączenie 32-bitowych dostawców w 64-bitowych systemach operacyjnych, wykonaj następujące kroki:

  1. W oknie wiersza polecenia uruchom następujące polecenie, aby otworzyć 32-bitowy wiersz polecenia:

    %windir%\SysWoW64\cmd.exe
    
  2. Uruchom następujące polecenie, aby otworzyć plik UDL:

    C:\temp\test.udl
    
  3. Jeśli na karcie Dostawca zostanie wyświetlony dostawca OLE DB firmy Microsoft Jet 4.0, pomyślnie załadowano okno dialogowe 32-bitowe i można teraz wybrać dostawcę 32-bitowego, aby przetestować połączenie.

Uruchamianie pliku UDL

Kliknij dwukrotnie plik UDL, aby go uruchomić. Poniżej opisano podstawowy proces używany podczas uruchamiania pliku UDL.

Interfejs użytkownika pliku UDL jest udostępniany przez OLEDB32.DLL i hostowany w RUNDLL32.EXE.

  • W przypadku 32-bitowych systemów operacyjnych lub komponentów 64-bitowych w 64-bitowych systemach operacyjnych użyj następującego polecenia (przy założeniu C:\temp\test.udl):

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

  • W przypadku dostawców oprogramowania 32-bitowych w 64-bitowych systemach operacyjnych użyj następującego polecenia:

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

Rozszerzenie pliku .udl jest przypisane do pierwszego polecenia. W przypadku dostawców 32-bitowych w 64-bitowych systemach operacyjnych można uprościć pracę, uruchamiając 32-bitowy wiersz polecenia, a następnie uruchamiając START C:\TEMP\TEST.UDL polecenie w celu przetestowania dostawców 32-bitowych. Opcjonalnie możesz utworzyć mapowanie rozszerzeń plików, które używa 32-bitowego polecenia.

Tworzenie 32-bitowego mapowania rozszerzenia pliku UDL32

Jeśli często używasz dostawców 32-bitowych w 64-bitowych systemach operacyjnych, możesz zamapować nowe rozszerzenie pliku (na przykład .udl32), aby uruchomić 32-bitowe okno dialogowe UDL, wykonując następujące kroki.

Ważne

Ten dział, metoda lub zadanie zawiera kroki, które wyjaśniają, jak zmodyfikować rejestr. Mogą jednak wystąpić poważne problemy, jeśli nieprawidłowo zmodyfikujesz rejestr. Dlatego upewnij się, że dokładnie przestrzegasz tych kroków. Aby uzyskać dodatkową ochronę, należy przed rozpoczęciem wykonania tej modyfikacji wykonać kopię zapasową rejestru, aby rejestr mógł zostać przywrócony w przypadku wystąpienia problemu. Aby uzyskać więcej informacji o tym, jak wykonać kopię zapasową i przywrócić rejestr, zobacz Jak wykonać kopię zapasową i przywrócić rejestr w Windows.

  1. Skopiuj następujący skrypt do Notatnika i zapisz go jako 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. Kliknij dwukrotnie plik .reg , aby utworzyć klucz rejestru, który ułatwia automatyczne uruchamianie plików UDL32.

  3. Utwórz plik z rozszerzeniem . udl32 . Na przykład C:\temp\test.udl32.

  4. Kliknij dwukrotnie plik test.udl32 , aby uruchomić 32-bitowe okno dialogowe UDL. Na przykład może zostać wyświetlone okno dialogowe podobne do następującego:

    Zrzut ekranu przedstawia przykład 32-bitowego okna dialogowego UDL.

Porady dotyczące rozwiązywania problemów z połączeniem

Aby sprawdzić, dlaczego połączenie nie powiedzie się, możesz użyć następujących metod.

  • Zmień dostawcę.
  • Zmień protokół. Na przykład, tcp:, np: lub lpc:.
  • Przetestuj połączenie z sufiksem lub bez pełnego sufiksu domeny lub przy użyciu tylko adresu IP.
  • Usuń numer portu i użyj nazwy wystąpienia, aby przetestować usługę SQL Server Browser.

W przypadku każdej z powyższych metod, jeśli jedna kombinacja działa, a druga kończy się niepowodzeniem, może to dać wskazówkę dotyczącą problemu. Jeśli na przykład używasz drugiej metody, jeśli lpc: działa i tcp: nie, spróbuj włączyć protokół TCP w menedżerze konfiguracji programu SQL Server.

Zobacz też

Konfiguracja usługi Universal Data Link (UDL)

Uwaga 16.

Jeśli ten artykuł nie rozwiąże problemu, możesz sprawdzić rozwiązywanie problemów z łącznością w programie SQL Server , aby uzyskać więcej pomocy.