Поделиться через


Проверка подключения OLE DB к SQL Server с помощью UDL-файла

Применяется к: SQL Server

Примечание.

Прежде чем приступить к устранению неполадок, проверьте предварительные требования и просмотрите контрольный список.

В этой статье описывается, как создать файл универсального канала данных (UDL) и использовать различные поставщики для проверки подключения к экземпляру SQL Server через файл.

Создание UDL-файла

Примечание.

UDL-файл позволяет тестировать подключение поставщиков баз данных OLE DB к любой серверной базе данных независимо от полного приложения. Сохранение UDL-файла создает хорошо сформированный строка подключения, который можно использовать для создания строка подключения приложения или проверки того, как задать различные свойства. Чтобы получить строку, откройте файл в Блокноте.

Чтобы создать UDL-файл для тестирования поставщика OLE DB, выполните следующие действия.

  1. Чтобы отобразить расширения файлов в проводник, выполните следующие действия.

    1. Нажмите кнопку "Пуск" и введите параметры проводник.

    2. Выберите вкладку "Вид ", снимите флажок "Скрыть расширения" для известных типов файлов и нажмите кнопку "ОК".

  2. Перейдите в папку, в которой нужно создать UDL-файл. Например, C:\temp.

  3. Создайте текстовый файл (например , sqlconn.txt), а затем переименуйте расширение из .txt в UDL. (Выберите Да , предупреждающее сообщение об изменении расширения имени файла.)

    Вы также можете использовать следующий скрипт PowerShell для создания sqlconn.udl в папке %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")
    

Проверка подключения с помощью драйвера OLE DB SQL Server

Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) является последним драйвером OLE DB SQL Server. Драйвер имеет новые функции, такие как TLS 1.2 и 1.3, MultiSubnetFailover и методы проверки подлинности Azure (Идентификатор Microsoft Entra). Мы рекомендуем этот драйвер для новых баз данных SQL Server.

Поставщик MICROSOFT OLE DB для SQL Server (SQLOLEDB) является устаревшим поставщиком подключений OLE DB. Он встроен в Windows и может подключаться к любой версии SQL Server, которая не настроена для требования привязки каналов TLS 1.2 или 1.3.

Чтобы проверить подключение с помощью драйвера или поставщика Microsoft OLE DB для SQL Server, выполните следующие действия.

  1. Откройте UDL-файл.

  2. Перейдите на вкладку "Поставщик" , выберите драйвер OLE DB или поставщик, используемый в приложении, а затем нажмите кнопку "Далее".

  3. На вкладке "Подключение" укажите сетевой протокол, полное доменное имя (FQDN) и номер порта в разделе "Выбор" или введите имя сервера. Например: tcp:SQLProd01.contoso.com,1433.

    Примечание.

    Таким образом, при вводе имени сервера и порта не возникают распространенные проблемы (например, проблемы со службой браузера SQL Server), которые могут препятствовать подключению.

  4. Введите другие свойства на вкладке "Подключение ".

    Примечание.

    Большинство тестов подключения не требуют ввода имени базы данных.

  5. Выберите Проверить подключение.

Вы также можете выбрать другие вкладки и просмотреть другие параметры драйвера. После завершения теста подключения нажмите кнопку "ОК", чтобы сохранить строка подключения в файл.

Тестирование подключения с помощью поставщика MICROSOFT OLE DB для драйверов ODBC

Чтобы проверить драйверы Open Database Connectivity (ODBC) с помощью поставщика Microsoft OLE DB для драйверов ODBC, выполните следующие действия.

  1. Откройте UDL-файл.

  2. Далее выберите поставщик Microsoft OLE DB для>драйверов>ODBC.

  3. На вкладке "Подключение" можно использовать один из следующих методов, чтобы указать источник данных, а затем ввести другие свойства.

    • Введите значение в поле "Использовать имя источника данных".

    • Введите менее строка подключения Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=YesDSN.

  4. Выберите Проверить подключение.

Тестирование 32-разрядных поставщиков на 64-разрядных компьютерах

Чтобы проверить подключение 32-разрядных поставщиков в 64-разрядных операционных системах, выполните следующие действия.

  1. В окне командной строки выполните следующую команду, чтобы открыть 32-разрядную командную строку:

    %windir%\SysWoW64\cmd.exe
    
  2. Выполните следующую команду, чтобы открыть UDL-файл:

    C:\temp\test.udl
    
  3. Если на вкладке "ПоставщикOLE DB" отображается поставщик OLE DB Microsoft Jet 4.0, вы успешно загружаете 32-разрядное диалоговое окно и можете выбрать 32-разрядный поставщик для проверки подключения.

Запуск UDL-файла

Дважды щелкните UDL-файл, чтобы запустить его. Ниже описан базовый процесс, используемый при запуске UDL-файла.

Пользовательский интерфейс UDL-файла предоставляется OLEDB32.DLL и размещен в RUNDLL32.EXE.

  • Для 32-разрядных операционных систем или для 64-разрядных поставщиков в 64-разрядных операционных системах используйте следующую команду (при условии C:\temp\test.udl):

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

  • Для 32-разрядных поставщиков в 64-разрядных операционных системах используйте следующую команду:

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

Расширение UDL-файла сопоставляется с первой командой. Для 32-разрядных поставщиков в 64-разрядных операционных системах можно упростить задачу, запустив 32-разрядную командную строку, а затем START C:\TEMP\TEST.UDL, чтобы протестировать 32-разрядных поставщиков. При необходимости можно создать сопоставление расширений файлов, использующее 32-разрядную команду.

Создание 32-разрядного сопоставления расширений UDL32

Если вы часто используете 32-разрядные поставщики в 64-разрядных операционных системах, вы можете сопоставить новое расширение файла (например, .udl32), чтобы инициировать 32-разрядное диалоговое окно UDL, выполнив следующие шаги.

Это важно

Этот раздел, метод или задача содержит шаги, которые объясняют, как изменить реестр. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому убедитесь, что вы внимательно следуете этим шагам. Для защиты создайте резервную копию реестра перед его изменением, чтобы в случае возникновения проблем можно было восстановить его. Для получения дополнительной информации о том, как создать резервную копию и восстановить реестр, см. Как создать резервную копию и восстановить реестр в Windows.

  1. Скопируйте следующий сценарий в Блокнот и сохраните его как 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. Дважды щелкните файл .reg, чтобы создать ключ реестра, который помогает автоматически запускать файлы UDL32.

  3. Создайте файл с расширением UDL32 . Например, C:\temp\test.udl32.

  4. Дважды щелкните тест.udl32 , чтобы запустить 32-разрядное диалоговое окно UDL. Например, может появиться диалоговое окно следующим образом:

    Снимок экрана: пример 32-разрядного диалогового окна UDL.

Советы по устранению неполадок с подключением

Чтобы проверить, почему подключение завершается сбоем, можно использовать следующие методы.

  • Измените поставщика.
  • Измените протокол. Например, tcp:, np: или lpc:.
  • Проверьте подключение с полным суффиксом домена или только с IP-адресом.
  • Удалите номер порта и используйте имя экземпляра для проверки службы браузера SQL Server.

Для каждого из приведенных выше методов, если одна комбинация работает и другая завершается ошибкой, это может дать ключ к проблеме. Например, если используется второй метод, если lpc: он работает и tcp: не работает, попробуйте включить протокол TCP в диспетчер конфигурации SQL Server.

См. также

Конфигурация универсального канала данных (UDL)

Примечание.

Если эта статья не устраняет проблему, вы можете ознакомиться с устранением неполадок с подключением в SQL Server за дополнительной помощью.