使用SharepointList数据源

时间:2016-05-26 11:59:32

标签: sharepoint ssis sharepoint-2013 ssis-2012

我正在创建一个从SharePoint列表导入数据的SSIS包,我认为由于SPCRED组件而导致验证问题。 为了记录,我在域名中使用开发服务器与Sharepoint One不同。所以我确实指定了这个" SharePoint Server DomainName"在我的SPCRED中Her is my configuration因为我无法使用我的Windows Credantials。 我确信,凭借我的信誉,我在漏洞Sharepoint网站上担任管理员角色。在配置我的SharePoint列表源时,我已经获得了所有可以进行数据映射的列。但是当执行包时,它会因为验证而遇到错误。这是错误:

  

SSIS包" MyPackage.dtsx"开始。   信息:Liste FPDA上的0x4004300A,SSIS.Pipeline:验证阶段正在开始。   错误:SharepointListName处的0xC0047062,SharepointListName [193]:System.ServiceModel.Security.MessageSecurityException:HTTP请求未经授权使用客户端身份验证方案' Ntlm'。从服务器收到的身份验证标题是“Negotiate,NTLM'”。 ---> System.Net.WebException:远程服务器返回错误:(401)未经授权。      在System.Net.HttpWebRequest.GetResponse()      at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)      ---内部异常堆栈跟踪结束---   服务器堆栈跟踪:      在System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest请求,HttpWebResponse响应,WebException responseException,HttpChannelFactory工厂)      在System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest请求,HttpWebResponse响应,HttpChannelFactory工厂,WebException responseException,ChannelBinding channelBinding)      at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)      在System.ServiceModel.Channels.RequestChannel.Request(消息消息,TimeSpan超时)      在System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs,TimeSpan timeout)      在System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,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 type)      在Microsoft.Samples.SqlServer.SSIS.SharePointUtility.ListsService.ListsSoap.GetListAndView(GetListAndViewRequest request)      在Microsoft.Samples.SqlServer.SSIS.SharePointUtility.ListsService.ListsSoapClient.GetListAndView(String listName,String viewName)      在Microsoft.Samples.SqlServer.SSIS.SharePointUtility.Adapter.ListsAdapter.GetSharePointFields(String listName,String viewId)      在Microsoft.Samples.SqlServer.SSIS.SharePointUtility.ListServiceUtility.GetFields(Uri sharepointUri,NetworkCredential credentials,String listName,String viewName)      在Microsoft.Samples.SqlServer.SSIS.SharePointListAdapters.SharePointListSource.GetAccessibleSharePointColumns(String sharepointUrl,String listName,String viewName)      在Microsoft.Samples.SqlServer.SSIS.SharePointListAdapters.SharePointListSource.ValidateSharePointColumns()      在Microsoft.Samples.SqlServer.SSIS.SharePointListAdapters.SharePointListSource.Validate()      在Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostValidate(IDTSManagedComponentWrapper100包装器)   错误:侦听FPDA上的0xC0047017,SSIS.Pipeline:侦听FPDA验证失败并返回错误代码0x80131501。   错误:侦听FPDA上的0xC004700C,SSIS.Pipeline:一个或多个组件验证失败。   错误:侦听FPDA上的0xC0024107:任务验证期间出错。   SSIS包" MyPackage.dtsx"完成:失败。

谢谢

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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