我正在使用SSIS,并希望使用OData连接从此页面提取公共NADAC数据:https://data.medicaid.gov/Drug-Pricing-and-Payment/NADAC-National-Average-Drug-Acquisition-Cost-/a4y5-998d。
您可以通过单击椭圆并选择通过OData访问数据在其页面上找到OData端点。 v4端点是:https://data.medicaid.gov/api/odata/v4/a4y5-998d
在SSIS(Visual Studio 2015,针对SQL Server 2016的版本14.0.500.272)中,我能够为基本URL创建OData源连接管理器:https://data.medicaid.gov/api/odata/v4/
您可以看到测试连接成功。 注意:如果我在这里指定了完整的OData终点URL,它确实成功了,但是在下一步中找不到要连接的任何集合,我为什么不这样做。 (消息为"无法为连接OData源加载集合,原因:无法打开此连接")
另请注意,我正在使用" Windows身份验证"但这是一个公共源,不需要身份验证。似乎没有"匿名身份验证"选项。
下一步是将OData Source拖到我的数据流上,然后右键单击进行编辑。当我这样做时,我首先选择刚刚创建的OData连接管理器。它识别连接并显示我可以连接的集合的下拉列表。
显然,我在此之前做了一些事情,因为它识别了可用的集合。
但是,我是否:
然后点击"预览..."或"列"甚至"好的" - Visual Studio完全没有响应。 20多分钟。我必须使用任务管理器崩溃并再试一次。如果我让它永远存在,我最终会收到一条黄色警告消息:管道组件已从方法调用中返回HRESULT错误代码0xC020801F。
我还没有在Medicaid提供的v2 OData Feed端点(https://data.medicaid.gov/OData.svc/a4y5-998d)上取得任何成功。
我的两个问题:
注意:我能够使用Power BI(例如)使用数据,因此我认为Feed没有任何问题。它只是SSIS我挣扎着。
提前感谢您的帮助。
答案 0 :(得分:2)
这是一个视觉工作室的错误。我从SSDT 17.0升级到SSDT 17.4(SSIS版本14.0.1000.169),错误消失了。