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

能否使用System.Data.SqlClient连接Azure Fabric数据仓库?

能否用System.Data.SqlClient连接Azure SQL Server Fabric Warehouse?

首先明确结论:System.Data.SqlClient 无法连接 Azure SQL Server Fabric Warehouse,核心原因如下:

  1. 组件支持局限性
    System.Data.SqlClient是.NET Framework时期的遗留组件,微软已停止主动开发,不再对Azure新服务(如Fabric Warehouse)提供适配支持。Fabric这类新服务依赖的连接特性(比如ActiveDirectoryPassword认证的新实现、对.pbidedicated.windows.net端点的适配),只有更新的Microsoft.Data.SqlClient才具备。

  2. 官方推荐路径
    微软明确建议所有新开发或现有项目迁移至Microsoft.Data.SqlClient,它是专门为.NET Core/.NET 5+及现代Azure服务设计的,包含更多安全特性和服务兼容性。

针对大型项目迁移难题的缓解方案

如果直接替换Microsoft.Data.SqlClient引发依赖冲突或其他问题,可以尝试以下方式:

  • 分层隔离迁移:将数据访问逻辑封装为独立接口层,仅在该层使用Microsoft.Data.SqlClient,其他模块通过接口调用,避免直接依赖扩散,逐步完成迁移。
  • 解决版本冲突:
    • .NET Framework项目可使用绑定重定向,强制指定Microsoft.Data.SqlClient的版本,避免与其他组件冲突;
    • .NET Core/.NET项目可在NuGet引用中设置PrivateAssets="All",防止该包被传递依赖到其他项目。
  • 临时替代方案(不推荐长期使用):如果仓库允许SQL账号登录,可尝试修改连接字符串为传统SQL认证格式(去掉Authentication=ActiveDirectoryPassword参数),但这只是权宜之计,后续仍会面临System.Data.SqlClient缺乏维护带来的兼容性风险。

你的可用示例(Microsoft.Data.SqlClient)

Imports Microsoft.Data.SqlClient
Dim connectionString As String = "Data Source=theCave.datawarehouse.pbidedicated.windows.net,1433;
                               Initial Catalog=TreASURE;
                               Authentication=ActiveDirectoryPassword;
                               User Id=AliBaba@robber.no;  
                               Password=SesamSesam"

Dim conn As SqlConnection = New SqlConnection(connectionString)
conn.Open()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:43:23