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

通过COM DLL连接Fabric数据仓库时出现Microsoft.Data.SqlClient.SqlException异常

解决方案

1. 匹配.NET Framework版本

你的COM DLL必须目标NET Framework 4.7.2或更高版本,别用.NET Core/.NET 6+。Fabric数据仓库要求这个兼容版本,而且Excel进程基于.NET Framework运行,Core版本组件在COM互操作场景下会有网络栈适配问题,直接导致连接失败。

2. 强制Excel使用TLS 1.2

Fabric数据仓库要求TLS 1.2或更高,Excel默认可能没启用。修改excel.exe.config(放在Excel安装目录,比如C:\Program Files\Microsoft Office\root\Office16,需管理员权限):

  • 在<configuration>节点下添加:
    <system.net>
      <settings>
        <servicePointManager securityProtocol="Tls12" />
      </settings>
    </system.net>
    
  • 在<runtime>节点下添加:
    <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=false;Switch.System.Net.DontEnableSystemDefaultTlsVersions=false" />
    

3. 修正Fabric连接字符串

连接字符串必须包含Fabric要求的参数,示例:

"Server=tcp:<你的Fabric服务器>.datawarehouse.fabric.microsoft.com,1433;Database=<你的数据库>;Authentication=Active Directory Integrated;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
  • 必须设Encrypt=True,Fabric强制加密连接
  • TrustServerCertificate=False避免证书信任问题导致连接中断
  • 非AD认证的话,把Authentication改成Sql Password,再加User ID和Password

4. 正确注册COM DLL

确保用和Excel位数匹配的regasm注册:

  • 32位Excel:用C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe
  • 64位Excel:用C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe
    注册时加/codebase参数,让Excel能找到DLL路径:
regasm /codebase YourComDll.dll

5. 捕获SqlClient详细日志

在COM DLL里加日志代码,排查网络细节:

System.Diagnostics.Trace.Listeners.Add(new System.Diagnostics.TextWriterTraceListener("sqlclient.log"));
System.Diagnostics.Trace.AutoFlush = true;
Microsoft.Data.SqlClient.SqlClientFactory.SetTraceSwitchLevel(Microsoft.Data.SqlClient.SqlClientTraceSwitch.Level.Verbose);

生成的sqlclient.log会显示证书验证、代理拦截或DNS解析问题——这些都是远程主机关闭连接的常见原因。

6. 调整Excel安全设置

Excel的宏安全可能限制COM组件网络访问:

  • 打开Excel → 文件 → 选项 → 信任中心 → 信任中心设置 → 宏设置,启用所有宏(测试环境用,生产环境设受信任位置)
  • 如果DLL有签名,确认签名已加入Excel的“受信任的发布者”列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:52:01