我在运行从SharePoint列表中提取数据的SSIS时遇到问题。 SSIS包运行正常,直到2周后,突然包裹失败并出现此错误:
[OData源[56]]错误:无法从运行时连接管理器获取受管连接。 [SSIS.Pipeline]错误:OData源验证失败并返回错误代码0xC020801F。 [SSIS.Pipeline]错误:一个或多个组件验证失败。错误:任务验证期间出错
尝试:
http://
而不是https://
我希望SSIS包从SharePoint列表中提取数据没有任何问题,但最近面临上述错误消息,该工作正常工作超过一年。
服务器详细信息:Windows Server 2012 R2。
应用程序详细信息:Visual Studio 2010,.NET framework - 4.5
我们没有使用Windows身份验证,即使以管理员身份运行SSDT,SSIS Passage也会失败。我们能够在ODATA源中预览Sharepoint列表数据,但是在触发时包中的错误消息会失败
在ODATA连接管理器中尝试设置以下属性,如图所示:
在搜索时我找到了以下相关文章:
他们提到了以下解决方案:
我们可以使用以下步骤解决此问题:
- 在您的计算机上安装Microsoft .NET 4.6及更高版本(https://technet.microsoft.com/en-us/library/security/2960358.aspx)。
- 通过注册表设置在您的计算机上强制执行TLS 1.2。在提升的命令提示符下运行以下命令: 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
还基于以下文章:
- .NET 4.6及更高版本。您不需要执行任何其他工作来支持TLS 1.2,默认情况下它是受支持的。
- 支持.NET 4.5 TLS 1.2,但它不是默认协议。您需要选择使用它。以下代码将使TLS 1.2成为默认值,请确保在连接到安全资源之前执行它:ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
类似的问题
(我提到的链接也在这个问题中提到,也有很多有用的评论,这个问题非常相关,但区别在于它们没有连接到Sharepoint列表,它们连接到公共数据源)
根据您提供的信息,问题似乎不是由SSIS引起的,它与您正在使用的环境有关,也可能与您用于访问Sharepoint列表的凭据有关。
在ODATA连接管理器中,there are many Authentication option you can use:
认证
选择以下选项之一:
- Windows身份验证。对于匿名访问,请选择此选项。
- 基本认证
- 适用于Dynamics AX Online的Microsoft Dynamics AX Online
- 适用于Dynamics CRM Online的Microsoft Dynamics CRM Online
- Microsoft Online Services for Microsoft Online Services
如果选择Windows身份验证以外的选项,请输入用户名和密码。
如果您使用的是Windows身份验证,请尝试run the Visual Studio as Administrator并再次运行该程序包,如果您使用其他身份验证类型,请检查此帐户是否仍具有访问权限。
如果使用SQL作业运行程序包,还要检查用户是否具有从Sharepoint列表中读取数据的必要权限。
另外,我将提供一些有关如何使用ODATA Source连接到Sharepoint列表的有用链接,它可能会为您提供一些见解:
我们收到此错误,因为在服务器中启用了代理。启用代理时,SSIS包在执行期间无法访问Sharepoint List。将连接更改为Internet选项中的“自动检测设置”后,此工作正常。
这个解决方案有所帮助,但命令仍有问题。命令中缺少\
(在Microsoft
和.NETFramework
之间)
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:64