使用 UDL 文件测试与SQL Server的 OLE DB 连接

适用于:   SQL Server

备注

在开始故障排除之前,请检查 先决条件 并查看清单。

本文介绍如何创建通用数据链接 (UDL) 文件,并使用不同的提供程序通过文件测试与SQL Server实例的连接。

创建 UDL 文件

备注

借助 UDL 文件,可以测试对象链接和嵌入数据库 (OLE DB) 提供程序与独立于完整应用程序的任何后端数据库的连接。 保存 UDL 文件会生成格式正确的连接字符串,可用于帮助生成应用程序的连接字符串或检查如何设置不同的属性。 若要获取字符串,请在记事本中打开该文件。

若要创建用于测试 OLE DB 提供程序的 UDL 文件,请执行以下步骤:

  1. 若要在文件资源管理器中显示文件扩展名,请执行以下步骤:

    1. 选择 “开始”,然后输入 文件资源管理器选项

    2. 选择 “视图 ”选项卡,取消选 中已知文件类型选项的“隐藏扩展 插件”,然后选择 “确定”。

  2. 导航到要在其中创建 UDL 文件的文件夹。 例如, c:\temp

  3. 创建新的文本文件 (,例如 sqlconn.txt) ,然后将扩展名从 .txt 重命名为 .udl。 (对有关更改文件扩展名的警告消息选择 “是 ”。)

    还可以使用以下 PowerShell 脚本在 %temp% 文件夹中创建 sqlconn.udl

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

使用 SQL Server OLE DB 提供程序测试连接

Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 是最常见的提供程序。 它内置于 Windows 中,可以连接到任何未配置为需要 TLS 1.2 通道绑定的SQL Server版本。

Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) 是最新的 OLE DB 提供程序SQL Server。 提供程序具有所有新功能,例如 TLS 1.2、 MultiSubnetFailover 和 Azure 身份验证选项。 建议为较新的SQL Server数据库提供此提供程序。

若要使用 SQL Server OLE DB 提供程序测试连接,请执行以下步骤:

  1. 打开 .udl 文件。

  2. 选择 “提供程序”选项卡,选择在应用程序中使用的SQL Server OLE DB 提供程序,然后选择 “下一步”。

  3. “连接 ”选项卡上,指定网络协议、完全限定的域名 (FQDN) ,以及 选择或输入服务器名称下的 端口号。 例如,tcp:SQLProd01.contoso.com,1433

    备注

    这种输入服务器名称的方式可避免一些常见问题 (,例如SQL Server浏览器服务问题) 可能会干扰连接。

  4. 在“ 连接 ”选项卡上输入其他属性。

    备注

    大多数连接测试不需要输入数据库名称。

  5. 选择 “测试连接”。

还可以选择其他选项卡并浏览其他驱动程序设置。 连接测试完成后,选择 “确定 ”将连接字符串保存到文件。

使用适用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序测试连接

若要使用适用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序测试打开数据库连接 (ODBC) 驱动程序,请执行以下步骤:

  1. 打开 .udl 文件。

  2. 选择 提供程序 > Microsoft OLE DB Provider for ODBC Drivers > Next

  3. 在“ 连接 ”选项卡上,可以使用以下方法之一来指定数据源,然后输入其他属性。

    • “使用数据源名称 ”字段中输入值。

    • 输入无 DSN 的连接字符串,例如 Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes

  4. 选择 “测试连接”。

在 64 位计算机上测试 32 位提供程序

若要测试 64 位操作系统中 32 位提供程序的连接,请执行以下步骤:

  1. 命令提示符 窗口中,运行以下命令以打开 32 位 命令提示符

    %windir%\SysWoW64\cmd.exe
    
  2. 运行以下命令以打开 UDL 文件:

    c:\temp\test.udl
    
  3. 如果在“提供程序”选项卡上看到 Microsoft Jet 4.0 OLE DB 提供 程序,这意味着你已成功加载 32 位对话框,现在可以选择 32 位提供程序来测试连接。

排查连接问题的提示

可以使用以下方法检查连接失败的原因。

  • 更改提供程序。
  • 更改协议。 例如,tcp:``np:lpc:.
  • 使用或不使用完整域后缀或仅使用 IP 地址测试连接。
  • 删除端口号,并使用实例名称测试SQL Server浏览器服务。

对于上述每种方法,如果一个组合有效,另一个组合失败,则可以提供有关问题的线索。 例如,使用第二种方法时,如果lpc:该方法不起作用tcp:,请尝试在SQL Server 配置管理器中启用 TCP 协议。

另请参阅

通用数据链接 (UDFL) 配置

备注

如果本文尚未解决你的问题,可以检查SQL Server中的连接问题疑难解答,以获得更多帮助。