我正在使用SSIS将PDF从SSRS上传到SharePoint 2010库。当我在SSDT中运行软件包时,它会按预期上传。但是,当我部署到SSIS目录并使用SQL Server代理下的代理帐户运行程序包时,会出现以下错误:
找不到网络路径
我已经确认我的代理帐户可以正确设置权限,因此可以发布到SharePoint网站。我相信SSIS甚至都没有尝试通过SharePoint网站进行身份验证(也许试图匿名连接?)。
上载PDF的代码位于下面。它会成功向SSRS验证用户,但不会向SharePoint验证用户。它上传到的路径是UNC路径。如何获得对UNC路径进行身份验证的信息?一种想法是映射一个驱动器,但是这看起来像是黑客,可能并不可靠。
Dim httpCon As ConnectionManager = Dts.Connections("DDM Report Server")
Dim clientConn As HttpClientConnection = New HttpClientConnection(httpCon.AcquireConnection(Nothing))
clientConn.ServerURL = Dts.Variables("$Package::DDM_ReportServer").Value.ToString() & Dts.Variables("Report_Filename").Value.ToString()
clientConn.DownloadFile(Dts.Variables("$Package::SharePoint_Delivery_Location").Value.ToString() & Dts.Variables("PDF_Name").Value.ToString(), True)
答案 0 :(得分:0)
我终于在昨天找到了答案。汉诺威首先,您到了什么。在SSIS中,您可以在脚本任务中使用WebClient使用URL(而不是UNC路径)对SharePoint网站进行身份验证。 WebClient提供了身份验证所需的一切。