ssis - 如何修复 SSIS 中的 "[OData Source [56]] Error: Cannot acquire a managed connection from the run-time connection manager."错误?

标签 ssis connection odata etl sharepoint-list

我在运行从 SharePoint 列表中提取数据的 SSIS 时遇到问题。 SSIS 包在 2 周前运行良好,突然包因以下错误而失败:

[OData Source [56]] Error: Cannot acquire a managed connection from the run-time connection manager. [SSIS.Pipeline] Error: OData Source failed validation and returned error code 0xC020801F. [SSIS.Pipeline] Error: One or more component failed validation. Error: There were errors during task validation


试过:
  • 将包属性中的 64 位调试选项更改为 false
  • http://而不是 https://

  • 我希望 SSIS 包能够从 SharePoint 列表中提取数据而没有任何问题,但最近遇到了上述错误消息,该消息运行良好一年多。

    Server detail: Windows server 2012 R2.

    Application details: Visual studio 2010, .NET framework - 4.5



    更新@2019-02-17
    我们没有使用 Windows 身份验证,即使以管理员身份运行 SSDT,SSIS Passage 也会失败。我们能够在 ODATA 源中预览 Sharepoint 列表数据,但在触发时,包会因上述错误消息而失败

    最佳答案

    更新 2 - ODATA 连接属性

    如镜像所显示,在 ODATA 连接管理器尝试设置以下属性:

    enter image description here

    更新 1 - TLS 问题

    在搜索时,我发现了以下相关文章:

  • TLS Issue with SSIS package while accessing OData Source like Dynamics AX Online

  • 他们提到了以下解决方案:

    We can resolve this using the below steps:

    1. Install Microsoft .NET 4.6 and above on your computer (https://technet.microsoft.com/en-us/library/security/2960358.aspx).
    2. Enforce TLS 1.2 on your machine through registry settings. In an elevated command prompt run the following commands:
      • reg add HKLM\SOFTWARE\Microsoft.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:64
      • reg add HKLM\SOFTWARE\Microsoft.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:32


    同样基于以下文章:
  • TLS 1.2 and .NET Support: How to Avoid Connection Errors

    • .NET 4.6 and above. You don’t need to do any additional work to support TLS 1.2, it’s supported by default.
    • .NET 4.5 TLS 1.2 is supported, but it’s not a default protocol. You need to opt-in to use it. The following code will make TLS 1.2 default, make sure to execute it before making a connection to secured resource: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12


    类似问题链接

    (这个问题中也提到了我提到的链接,也有很多有用的评论,这个问题非常相关,但不同的是它们没有连接到 Sharepoint 列表,它们连接到公共(public)数据源)
  • OData Source Component in SSIS Not Connecting


  • 原始答案

    试图找出问题所在

    根据您提供的信息,该问题似乎不是由 SSIS 引起的,它与您正在工作的环境或您用于访问 Sharepoint 列表的凭据有关。

    在 ODATA 连接管理器中,there are many Authentication option you can use :

    Authentication

    Select one of the following options:

    • Windows Authentication. For anonymous access, select this option.
    • Basic Authentication
    • Microsoft Dynamics AX Online for Dynamics AX Online
    • Microsoft Dynamics CRM Online for Dynamics CRM Online
    • Microsoft Online Services for Microsoft Online Services

    If you select an option other than Windows Authentication, enter the username and password.



    如果您使用的是 Windows 身份验证,请尝试 run the Visual Studio as Administrator并再次运行包,如果您使用其他身份验证类型,请检查此帐户是否仍然可以访问。

    如果您在 SQL 作业中运行包,还要检查用户是否具有从 Sharepoint 列表中读取数据的必要权限。

    一些有用的链接

    此外,我将提供一些有关如何使用 ODATA 源连接到 Sharepoint 列表的有用链接,它可能会给您一些见解:
  • How to configure OData SSIS Connection for SharePoint Online
  • Reading SharePoint Lists with Integration Services 2017
  • Using the SSIS OData Source Connector With SharePoint Online Authentication
  • 关于ssis - 如何修复 SSIS 中的 "[OData Source [56]] Error: Cannot acquire a managed connection from the run-time connection manager."错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54709366/

    相关文章:

    web-services - SSIS Web 服务任务中无法加载文件或程序集错误

    ssis - 通过运行具有不同条件的相同查询来创建多个平面文件

    entity-framework - 如何让 Web API odatamodelbuilder 使用 EF fluent API 映射

    c# - ODATA EXPAND 无法正常工作

    sql-server - CSV 文件格式更改

    c# - 如何找到由下划线限定的 5 个数字组成的变量集?

    c++ - 如何在两个类之间连接函数

    google-chrome - SSL协议(protocol)错误

    java - 线程中出现异常 "main"java.sql.SQLException : No suitable driver found for jdbc:ucanaccess://C:/Users/gfas1/Desktop/st. accdb

    sql - 如何像 SQL 连接一样使用 OData Expand?