Testowanie łączności OLE DB z SQL Server przy użyciu pliku UDL
Dotyczy: SQL Server
Uwaga
Przed rozpoczęciem rozwiązywania problemów zalecamy sprawdzenie wymagań wstępnych i listy kontrolnej.
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 SQL Server za pomocą pliku.
Tworzenie pliku UDL
Uwaga
Plik UDL umożliwia testowanie łączności dostawców usługi Object Linking and Embedding Database (OLE DB) z dowolną bazą danych zaplecza niezależną od pełnej aplikacji. Zapisanie pliku UDL generuje dobrze sformułowany parametry połączenia, którego 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:
Aby wyświetlić rozszerzenia plików w Eksplorator plików, wykonaj następujące kroki:
Wybierz pozycję Start i wprowadź Eksplorator plików Opcje.
Wybierz kartę Widok , usuń zaznaczenie opcji Ukryj rozszerzenia dla znanych typów plików , a następnie wybierz przycisk OK.
Przejdź do folderu, w którym chcesz utworzyć plik UDL. Na przykład c:\temp.
Utwórz nowy plik tekstowy (na przykład sqlconn.txt), a następnie zmień nazwę rozszerzenia z .txt na .udl. (Wybierz pozycję Tak do komunikatu ostrzegawczego dotyczącego zmiany 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 dostawcy SQL Server OLE DB
Dostawca usługi Microsoft OLE DB dla SQL Server (SQLOLEDB) jest najczęstszym dostawcą. Jest wbudowana w system Windows i może łączyć się z dowolną wersją SQL Server, która nie jest skonfigurowana do wymagania powiązań kanału protokołu TLS 1.2.
Sterownik OLE DB firmy Microsoft dla SQL Server (MSOLEDBSQL) jest najnowszym dostawcą SQL Server OLE DB. Dostawca ma wszystkie nowe funkcje, takie jak TLS 1.2, MultiSubnetFailover i opcje uwierzytelniania platformy Azure. Zalecamy tego dostawcę dla nowszych baz danych SQL Server.
Aby przetestować połączenie przy użyciu dostawcy SQL Server OLE DB, wykonaj następujące kroki:
Otwórz plik udl .
Wybierz kartę Dostawca, wybierz dostawcę SQL Server OLE DB używanego w aplikacji, a następnie wybierz pozycję Dalej.
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
Ten sposób wprowadzania nazwy serwera pozwala uniknąć niektórych typowych problemów (takich jak problemy z usługą SQL Server Browser), które mogą zakłócać połączenie.
Wprowadź inne właściwości na karcie Połączenie .
Uwaga
Większość testów połączenia nie wymaga wprowadzenia nazwy bazy danych.
Wybierz pozycję Testuj połączenie.
Możesz również wybrać inne karty i zapoznać się z innymi ustawieniami 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 OLE DB firmy Microsoft dla sterowników ODBC
Aby przetestować sterowniki odbc (Open Database Connectivity) przy użyciu dostawcy OLE DB firmy Microsoft dla sterowników ODBC, wykonaj następujące kroki:
Otwórz plik udl .
Wybierz pozycję Dostawca>microsoft OLE DB Provider dla sterowników> ODBCDalej.
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
.
Wybierz pozycję Testuj połączenie.
Testowanie dostawców 32-bitowych na maszynach 64-bitowych
Aby przetestować połączenie dostawców 32-bitowych w 64-bitowych systemach operacyjnych, wykonaj następujące kroki:
W oknie Wiersz polecenia uruchom następujące polecenie, aby otworzyć 32-bitowy wiersz polecenia:
%windir%\SysWoW64\cmd.exe
Uruchom następujące polecenie, aby otworzyć plik UDL:
c:\temp\test.udl
Jeśli na karcie Dostawca widzisz dostawcę OLE DB rozwiązania Microsoft Jet 4.0, oznacza to, że pomyślnie załadowano 32-bitowe okno dialogowe i można teraz wybrać dostawcę 32-bitowego w celu przetestowania połączenia.
Porady dotyczące rozwiązywania problemów z połączeniem
Aby sprawdzić, dlaczego połączenie kończy się niepowodzeniem, można użyć następujących metod.
- Zmień dostawcę.
- Zmień protokół. Na przykład,
tcp:
,np:
lublpc:
. - Przetestuj połączenie za pomocą sufiksu pełnej domeny lub bez tego samego 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ę co do problemu. Na przykład, gdy używasz drugiej metody, jeśli lpc:
działa, a tcp:
nie, spróbuj włączyć protokół TCP w SQL Server Configuration Manager.
Zobacz też
Konfiguracja usługi Universal Data Link (UDL)
Uwaga
Jeśli ten artykuł nie rozwiązał problemu, możesz sprawdzić rozwiązywanie problemów z łącznością w SQL Server, aby uzyskać więcej pomocy.