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:
Aby wyświetlić rozszerzenia plików w Eksplorator plików, wykonaj następujące kroki:
Wybierz pozycję Start, a następnie wprowadź opcje Eksplorator plików.
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 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 dostawcy OLE DB programu SQL Server
Dostawca microsoft OLE DB dla programu SQL Server (SQLOLEDB) jest najczęstszym dostawcą. 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łu TLS 1.2.
Sterownik MICROSOFT OLE DB dla programu SQL Server (MSOLEDBSQL) jest najnowszym dostawcą OLE DB programu SQL Server. Dostawca ma wszystkie nowe funkcje, takie jak TLS 1.2, MultiSubnetFailover i opcje uwierzytelniania platformy Azure. Zalecamy ten dostawca dla nowszych baz danych programu SQL Server.
Aby przetestować połączenie przy użyciu dostawcy OLE DB programu SQL Server, wykonaj następujące kroki:
Otwórz plik udl.
Wybierz kartę Dostawca , wybierz dostawcę OLE DB programu SQL Server, którego używasz 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 16.
Ten sposób wprowadzania nazwy serwera pozwala uniknąć 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 16.
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 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:
Otwórz plik udl.
Wybierz pozycję Dostawca Microsoft OLE DB Provider>dla sterowników>ODBC Dalej.
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 32-bitowych dostawców w 64-bitowych systemach operacyjnych, wykonaj następujące kroki:
W oknie wiersza 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 zostanie wyświetlony dostawca OLE DB firmy Microsoft Jet 4.0, oznacza to, że okno dialogowe 32-bitowe zostało pomyślnie załadowane i może teraz wybrać dostawcę 32-bitowego, aby przetestować połączenie.
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:
lublpc:
. - 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ązał problemu, możesz sprawdzić rozwiązywanie problemów z łącznością w programie SQL Server , aby uzyskać więcej pomocy.