首页 文章

SSIS中的OData源组件未连接

提问于
浏览
2

这是上一个问题的后续内容:OData Source Component in SSIS Hanging

设置

我在Visual Studio 2015(17.4)中使用SSIS,并希望使用OData连接从该页面提取公共NADAC数据:https://data.medicaid.gov/Drug-Pricing-and-Payment/NADAC-National-Average-Drug-Acquisition-Cost-/a4y5-998d .

我已成功创建OData源连接管理器到基本URL:https://data.medicaid.gov/api/odata/v4/使用Windows身份验证 .

我创建了一个包含2个组件的简单数据流 . OData源和Recordset目标 . Recordset Destination指向Data类型为Object的变量 .

在我的数据流中,我已成功创建OData源到资源路径a4y5-998d并能够预览数据 .

In the background you can see my data flow components: an OData Source and a Recordset Destination. In the middle ground you can see how I've configured the OData Source Editor to use the resource path. On top, you can see the preview showing data from the OData source.
显示预览数据和数据流布局以及OData源编辑器配置的屏幕截图 .

核心问题

一切看起来都不错,但是当我运行我的包 in Visual Studio 时,我收到以下错误:

信息:数据流任务中的0x4004300A,SSIS.Pipeline:验证阶段正在开始 . 错误:数据流任务中的0xC020801F,OData源[2]:无法从运行时连接管理器获取受管连接 . 错误:数据流任务中的0xC0047017,SSIS.Pipeline:OData源验证失败并返回错误代码0xC020801F . 错误:数据流任务中的0xC004700C,SSIS.Pipeline:一个或多个组件验证失败 . 错误:数据流处的0xC0024107任务:任务验证期间出错 .

我已经加粗了关键句子(无法从运行时连接管理器获取托管连接),但包含更多上下文消息 .

因为这是验证错误,所以数据流甚至不会开始运行 .

环顾互联网,许多地方都认为这可能是一个32位/ 64位驱动程序问题 . 但是,我打开和关闭了 Run64BitRuntime ,每次都得到相同的结果 .

无论我是在SQL Server 2016还是SQL Server 2017模式下运行包,我都会得到相同的结果 .

HTTP与HTTPS

当我将OData连接管理器编辑器中的URL更改为http而不是https时,事情似乎进展得更好 .

包验证,我在OData Source上方得到一个黄色的旋转圆圈 . 但后来我收到一条消息:

信息:0x40043006在数据流任务,SSIS.Pipeline:准备执行阶段开始 . 信息:0x40043007在数据流任务,SSIS.Pipeline:预执行阶段开始 . 信息:数据流任务中的0x4004300C,SSIS.Pipeline:执行阶段开始 . 错误:数据流任务中的0xC02090F5,OData源[2]:OData源无法处理数据 . 底层连接已关闭:发送时发生意外错误 . 错误:数据流任务中的0xC0047038,SSIS.Pipeline:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED . OData Source上的PrimeOutput方法返回错误代码0xC02090F5 . 当管道引擎调用PrimeOutput()时,组件返回失败代码 . 失败代码的含义由组件定义,但错误是致命的,管道停止执行 . 在此之前可能会发布错误消息,其中包含有关失败的更多信息 . 信息:0x40043008在数据流任务,SSIS.Pipeline:后执行阶段开始 . 信息:数据流任务中的0x4004300B,SSIS.Pipeline:“Recordset Destination”写入0行 . 信息:数据流任务中的0x40043009,SSIS.Pipeline:清理阶段正在开始 . 任务失败:数据流任务

这里的关键句是:OData Source无法处理数据 . 底层连接已关闭:发送时发生意外错误 .

虽然使用HTTP而不是HTTPS时包的工作方式不同,但我知道这可能与基本问题完全无关 . 到目前为止,这是唯一有所作为的东西 .

摘要

有没有人建议在SSIS中使用ODATA Source组件来引入公共OData源?有人能够让这个工作吗? (如果你想尝试自己,我的包装很简单 . )

这是一个公开可访问的OData源,无需身份验证 . SSIS中的OData Source组件非常简单:它真正需要的只是一个URL . 我能够完美地预览数据 .

我很难过为什么我无法获得实际加载的数据 . 不应该这么难 . (例如,我将数据加载到Power BI中没有问题 . )

我们将非常感谢您提供的任何帮助 .

1 回答

相关问题