我正在创建一个从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"完成:失败。
谢谢
答案 0 :(得分:0)
我遇到了完全相同的问题,帮助我的是使用我找到的指南设置运行时凭据here
- 手动设置为使用自定义凭据,然后输入具有读取权限的帐户的详细信息。写入目标Sharepoint列表
- 在运行时,将不使用连接管理器中设置的帐户密码,必须使用包配置进行设置。
- 转到SSIS菜单>包配置
- 启用包配置(如果尚未完成)
- 单击“添加”以创建新配置
- 选择所需的配置位置,可能是XML文件或SQL Server(如果可用)
- 点击下一步选择属性
- 在要配置的项目树中,展开“连接管理器”> SharePoint凭据>特性
- 选择UserName和Password属性,单击Next
- 设置配置名称&单击“完成”
- 密码值不会保存到配置目标,因为它是安全的。您需要打开配置位置并手动设置密码值。
答案 1 :(得分:0)
我通过添加连接参数解决了我的问题。右键单击SharePoint凭据,然后从弹出菜单中选择“参数化...”。然后单击属性下拉列表,并为用户名和密码创建参数。