使用 UDL 文件测试与SQL Server的 OLE DB 连接
适用于: SQL Server
注意
在开始故障排除之前,请查看先决条件并核对清单。
本文介绍如何 (UDL) 文件创建通用数据链接,并使用不同的提供程序通过该文件测试与 SQL Server 实例的连接。
创建 UDL 文件
注意
使用 UDL 文件可以测试对象链接和嵌入数据库 (OLE DB) 提供程序与独立于完整应用程序的任何后端数据库的连接。 保存 UDL 文件会生成格式正确的连接字符串,可用于帮助生成应用程序的连接字符串或检查如何设置不同的属性。 若要获取字符串,请在记事本中打开文件。
若要创建 UDL 文件以测试 OLE DB 提供程序,请执行以下步骤:
若要在 文件资源管理器 中显示文件扩展名,请执行以下步骤:
选择“开始”,然后输入文件资源管理器选项。
选择“ 视图 ”选项卡,取消选中 “隐藏已知文件类型的扩展名 ”选项,然后选择“ 确定”。
导航到要在其中创建 UDL 文件的文件夹。 例如 ,c:\temp。
创建新的文本文件 ((如 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 提供程序测试连接,请执行以下步骤:
打开 .udl 文件。
选择“提供程序”选项卡,选择在应用程序中使用的SQL Server OLE DB 提供程序,然后选择“下一步”。
在“ 连接 ”选项卡上,指定网络协议、 (FQDN) 的完全限定域名,以及 “选择或输入服务器名称”下的端口号。 例如,
tcp:SQLProd01.contoso.com,1433
。注意
这种输入服务器名称的方式可以避免一些常见问题 (,例如SQL Server浏览器服务问题) 可能会干扰连接。
在“ 连接 ”选项卡上输入其他属性。
注意
大多数连接测试不需要输入数据库名称。
选择“ 测试连接”。
还可以选择其他选项卡并浏览其他驱动程序设置。 连接测试完成后,选择“确定”,将连接字符串保存到文件中。
使用适用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序测试连接
若要使用适用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序测试 open Database Connectivity (ODBC) 驱动程序,请执行以下步骤:
打开 .udl 文件。
选择“用于ODBC 驱动程序>的提供程序 > Microsoft OLE DB 提供程序”“下一步”。
在“ 连接 ”选项卡上,可以使用下列方法之一指定数据源,然后输入其他属性。
在 “使用数据源名称” 字段中输入值。
输入无 DSN 连接字符串,例如
Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes
。
选择“ 测试连接”。
在 64 位计算机上测试 32 位提供程序
若要在 64 位操作系统中测试 32 位提供程序的连接,请执行以下步骤:
在 “命令提示符” 窗口中,运行以下命令以打开 32 位 命令提示符:
%windir%\SysWoW64\cmd.exe
运行以下命令以打开 UDL 文件:
c:\temp\test.udl
如果在“提供程序”选项卡上看到 Microsoft Jet 4.0 OLE DB 提供程序,则表示已成功加载 32 位对话框,现在可以选择 32 位提供程序来测试连接。
排查连接问题的提示
可以使用以下方法检查连接失败的原因。
- 更改提供程序。
- 更改协议。 例如,
tcp:
、np:
或lpc:
。 - 使用或不带完整域后缀或仅使用 IP 地址测试连接。
- 删除端口号并使用实例名称测试SQL Server Browser 服务。
对于上述每种方法,如果一个组合有效,另一个组合失败,则可能会提供有关问题的线索。 例如,使用第二种方法时,如果 lpc:
有效且 tcp:
不起作用,请尝试在 SQL Server 配置管理器 中启用 TCP 协议。
另请参阅
注意
如果本文尚未解决你的问题,你可以检查排查SQL Server中的连接问题以获取更多帮助。