【问题标题】:SSIS Authentification with SharepointList data source使用 Sharepoint 列表数据源的 SSIS 身份验证
【发布时间】:2016-09-24 10:08:49
【问题描述】:

我正在创建一个从 SharePoint 列表导入数据的 SSIS 包,由于我认为 SPCRED 组件,我遇到了身份验证问题。 作为记录,我在域中使用的开发服务器与 Sharepoint One 不同。所以我在我的 SPCREDHer is my configuration 中指定了这个“SharePoint Server DomainName”,因为我不能使用我的 Windows Credantials。 我用我的凭证验证了我在漏洞 Sharepoint 网站中的管理员角色。在配置我的 SharePoint 列表源时,我已经获得了能够进行数据映射的所有列。但是在执行包时由于身份验证而遇到错误这是错误:

SSIS 包“MyPackage.dtsx”正在启动。 信息:Liste FPDA 上的 0x4004300A,SSIS.Pipeline:验证阶段开始。 错误:SharepointListName 处的 0xC0047062,SharepointListName [193]:System.ServiceModel.Security.MessageSecurityException:HTTP 请求未经客户端身份验证方案“Ntlm”授权。从服务器收到的身份验证标头是“协商,NTLM”。 ---> System.Net.WebException:远程服务器返回错误:(401)未经授权。 在 System.Net.HttpWebRequest.GetResponse() 在 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(时间跨度超时) --- 内部异常堆栈跟踪结束 --- 服务器堆栈跟踪: 在 System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest 请求,HttpWebResponse 响应,WebException responseException,HttpChannelFactory 工厂) 在 System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest 请求,HttpWebResponse 响应,HttpChannelFactory 工厂,WebException responseException,ChannelBinding 通道绑定) 在 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(时间跨度超时) 在 System.ServiceModel.Channels.RequestChannel.Request(消息消息,TimeSpan 超时) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔单向,ProxyOperationRuntime 操作,Object[] 输入,Object[] 输出,TimeSpan 超时) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 方法调用,ProxyOperationRuntime 操作) 在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 消息) 在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型) 在 Microsoft.Samples.SqlServer.SSIS.SharePointUtility.ListsService.ListsSoap.GetListAndView(GetListAndViewRequest 请求) 在 Microsoft.Samples.SqlServer.SSIS.SharePointUtility.ListsService.ListsSoapClient.GetListAndView(字符串列表名称,字符串视图名称) 在 Microsoft.Samples.SqlServer.SSIS.SharePointUtility.Adapter.ListsAdapter.GetSharePointFields(字符串列表名称,字符串 viewId) 在 Microsoft.Samples.SqlServer.SSIS.SharePointUtility.ListServiceUtility.GetFields(Uri sharepointUri,NetworkCredential 凭据,字符串 listName,字符串 viewName) 在 Microsoft.Samples.SqlServer.SSIS.SharePointListAdapters.SharePointListSource.GetAccessibleSharePointColumns(字符串 sharepointUrl、字符串 listName、字符串 viewName) 在 Microsoft.Samples.SqlServer.SSIS.SharePointListAdapters.SharePointListSource.ValidateSharePointColumns() 在 Microsoft.Samples.SqlServer.SSIS.SharePointListAdapters.SharePointListSource.Validate() 在 Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostValidate(IDTSManagedComponentWrapper100 包装器) 错误:Liste FPDA 上的 0xC0047017,SSIS.Pipeline:Liste FPDA 验证失败并返回错误代码 0x80131501。 错误:Liste FPDA、SSIS 上的 0xC004700C。管道:一个或多个组件验证失败。 错误:Liste FPDA 上的 0xC0024107:任务验证期间出现错误。 SSIS 包“MyPackage.dtsx”完成:失败。

谢谢

【问题讨论】:

    标签: sharepoint ssis sharepoint-2013 ssis-2012


    【解决方案1】:

    我遇到了完全相同的问题,帮助我的是使用我找到的指南设置运行时凭据 here

    • 手动设置为使用自定义凭据,然后输入有权读取和写入目标 Sharepoint 列表的帐户的详细信息
    • 在运行时,连接管理器中设置的账户密码不会被使用,必须通过包配置来设置。
    • 转到 SSIS 菜单 > 包配置
    • 启用包配置(如果尚未完成)
    • 单击添加以创建新配置
    • 选择所需的配置位置,可能是 XML 文件或 SQL Server(如果可用)
    • 点击下一步选择属性
    • 在要配置的项目树中,展开连接管理器 > SharePoint 凭据 > 属性
    • 选择用户名和密码属性,点击下一步
    • 设置配置名称并点击完成
    • 密码值不会保存到配置目标,因为它是安全的。您需要打开配置位置并手动设置密码值。

    【讨论】:

      【解决方案2】:

      我通过添加连接参数解决了我的问题。右键单击 SharePoint 凭据并从弹出菜单中选择“参数化...”。然后单击属性下拉菜单并为用户名和密码创建参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-03
        • 2015-08-09
        • 2011-11-18
        • 2011-02-20
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多