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

SSIS中OData Source组件无法连接问题求助

解决SSIS OData Source运行时验证与连接错误

针对你遇到的SSIS OData Source预览正常但运行包报错的问题,结合Power BI能正常加载的情况,大概率是旧版SSIS组件的TLS兼容性、身份验证配置或者运行时环境的问题,以下是具体的解决方案:

1. 强制SSIS运行时使用TLS 1.2

公共HTTPS站点现在普遍要求TLS 1.2及以上版本,但Visual Studio 2015自带的SSIS运行时可能默认使用旧版TLS协议,导致运行时无法建立安全连接(预览阶段可能用了Visual Studio本身的网络栈,所以能成功)。

操作步骤:

  • 找到SSIS运行时的可执行文件路径,通常是:C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\DTExec.exe(对应SQL Server 2016,切换到2017则是140目录)
  • 右键点击DTExec.exe,选择属性 -> 兼容性 -> 勾选以管理员身份运行此程序
  • 修改注册表强制启用TLS 1.2:
    打开注册表编辑器,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319,新建DWORD值,命名为SchUseStrongCrypto,值设为1
    同样在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319下添加相同键值(适配32位运行时)

2. 修正OData连接管理器的身份验证设置

你提到使用了Windows身份验证,但该公共OData Feed不需要身份验证,错误的配置可能导致运行时连接获取失败:

  • 打开OData Source Connection Manager的配置窗口
  • 将身份验证模式从Windows身份验证改为匿名身份验证
  • 保存配置后重新运行包

3. 检查并更新SSIS OData组件

Visual Studio 2015的SSIS OData组件对OData V4的支持可能存在兼容性问题,尝试更新组件:

  • 打开Visual Studio 2015,进入工具 -> 扩展和更新
  • 在联机搜索框中搜索"Microsoft OData Source for SQL Server Integration Services",安装最新可用的更新
  • 重启Visual Studio后重新测试包

4. 尝试使用脚本组件替代OData Source

如果上述方法都无效,可以用C#脚本组件手动读取OData Feed,绕开原生组件的限制:

  • 在数据流任务中添加一个脚本组件,选择作为源
  • 在脚本编辑器中,引用System.Data.Services.Client和System.Net命名空间
  • 编写代码手动请求OData Feed并加载数据(示例框架):
using System.Data.Services.Client;
using System.Net;

public override void CreateNewOutputRows()
{
    // 设置OData服务地址
    var serviceUri = new Uri("https://data.medicaid.gov/api/odata/v4/a4y5-998d");
    var context = new DataServiceContext(serviceUri);
    
    // 强制使用TLS 1.2
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
    
    // 获取数据并映射到输出列
    foreach (var item in context.Execute<dynamic>(new Uri("a4y5-998d", UriKind.Relative)))
    {
        Output0Buffer.AddRow();
        Output0Buffer.DrugName = item.Drug_Name; // 替换为实际列名
        // 其他列同理映射
    }
}
  • 配置脚本组件的输出列,匹配OData Feed的字段,再连接到Recordset Destination

补充说明

你切换到HTTP后出现的"基础连接已关闭"错误,是因为该站点可能强制跳转HTTPS,或者HTTP版本的OData Feed不可用,所以还是建议优先解决HTTPS的连接问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:48:43