You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SQL Server OLEDB 19驱动连接Azure SQL DB时遇到问题

解决Azure SQL数据库32/64位OLEDB驱动连接兼容问题

问题背景

已安装OLEDB 19驱动,可通过Visual Studio、SSMS v17.9.1(32位程序)成功连接供应商的Azure SQL数据库,但UDL文件、SSMS 19.1(64位)、Azure Data Studio(64位)无法连接,报错:

已成功与服务器建立连接,但在预登录握手期间发生错误。(provider: TCP Provider, error: 0 - 指定的网络名称不再可用。) (Microsoft SQL Server, Error: 64)

推测为32/64位驱动兼容问题,以下是针对性解决方案:

排查与解决步骤

1. 确认64位OLEDB 19驱动完整性

  • 打开64位命令提示符(不要用SysWOW64下的32位提示符),执行命令:
    oledbconf.exe /getproviders
    
  • 检查输出中是否存在MSOLEDBSQL条目,且版本为19.x。若缺失,重新下载安装官方64位版本的OLEDB 19驱动,确保安装过程无报错。

2. 修复UDL文件连接问题

  • UDL文件默认关联的打开程序可能是32位的rundll32.exe,右键UDL文件,选择「打开方式」→「更多应用」→「查找其他应用」,定位到C:\Windows\System32\rundll32.exe(64位)打开文件。
  • 在UDL的「提供者」标签中,选择Microsoft OLE DB Driver 19 for SQL Server,再配置服务器名、数据库名、账号密码,点击「测试连接」验证。

3. 调整SSMS 19.1与Azure Data Studio连接配置

  • 这两个工具都是64位程序,必须使用64位驱动:
    • 在连接窗口的「身份验证」下拉框旁,确认驱动选择为Microsoft OLE DB Driver 19 for SQL Server,避免使用旧版的SQL Native Client或32位专属驱动。
    • 尝试在连接属性中添加加密参数:在「高级」设置里,将Encrypt设为Optional或Strict(需匹配供应商Azure SQL的加密要求),再重新连接。

4. 网络与缓存排查

  • 检查本地防火墙是否允许1433端口出站,或临时关闭防火墙测试连接。
  • 打开「控制面板→凭据管理器→Windows凭据」,删除所有与目标Azure SQL服务器相关的凭据,重新输入账号密码尝试连接。
  • 用64位SQLCMD验证连接:
    sqlcmd -S <AzureSQL服务器名>.database.windows.net -d <数据库名> -U <用户名> -P <密码>
    
    若能成功执行,说明64位驱动与网络正常,问题出在工具的配置上。

5. 其他可能原因

  • 确认你的公网IP在供应商的Azure SQL服务器防火墙白名单中(虽然旧版工具能连,但需排除IP变更导致的限制)。
  • 卸载并重新安装最新版的OLEDB 19驱动,避免使用预览版或旧的子版本。

内容的提问来源于stack exchange,提问作者wilson_smyth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:21:13