使用 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)是最新的 SQL Server OLE DB 提供程序。 提供程序具有所有新功能,例如 TLS 1.2、 MultiSubnetFailover 和 Azure 身份验证选项。 建议将此提供程序用于较新的 SQL Server 数据库。
若要使用 SQL Server OLE DB 访问接口测试连接,请执行以下步骤:
打开 .udl 文件。
选择“ 提供程序 ”选项卡,选择应用程序中使用的 SQL Server OLE DB 提供程序,然后选择“ 下一步”。
在“连接”选项卡上,指定网络协议、完全限定的域名(FQDN)和“选择”或输入服务器名称下的端口号。 例如,
tcp:SQLProd01.contoso.com,1433
。注意
这样输入服务器名称就避免了一些常见问题(例如 SQL Server 浏览器服务问题),这些问题可能会干扰连接。
在 “连接 ”选项卡上输入其他属性。
注意
大多数连接测试都不需要输入数据库名称。
选择“测试连接”。
还可以选择其他选项卡并浏览其他驱动程序设置。 连接测试完成后,选择“确定”将连接字符串保存到文件。
使用 Microsoft OLE DB Provider for ODBC Drivers 测试连接
若要使用 Microsoft OLE DB Provider for ODBC Drivers 测试 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 中的连接问题疑难解答以获取更多帮助。