【问题标题】:SSIS - SharePoint - Network Path Not FoundSSIS - SharePoint - 未找到网络路径
【发布时间】:2019-02-18 19:34:28
【问题描述】:

我正在使用 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)

【问题讨论】:

  • 您能在本地登录到 SSIS 服务器并查看是否可以从中访问 UNC 路径吗?还是让贵公司的其他人来做?
  • 可以,SSIS 包将运行。但这仅适用于该会话。当服务器重新启动时,它会失败。我需要在代码或连接管理器中模仿相同的功能。
  • 如果经过身份验证的用户不是根问题,我的下一个猜测将是服务器上未安装一些 IE 驱动程序扩展问题。有 something 允许您将驱动器映射到共享点(或将 SP 视为 UNC 路径),尽管在桌面上有效,但我还没有在服务器上工作。
  • @Todd SQL Server 代理使用的服务帐户可能没有访问 SharePoint 的权限。
  • FWIW - 我使用 HTTP 地址 (http://sharepointreports/sites/.../Documents/) 使用 Workbook.SaveAs(ReportName) 将 Excel 文件从模板导出到 SharePoint DOCUMENTS 文件夹。

标签: sql-server sharepoint reporting-services ssis ssis-2012


【解决方案1】:

我昨天终于想通了。汉诺威 首先,你在做某事。在 SSIS 中,您在脚本任务中使用 WebClient 以使用 URL 而不是 UNC 路径对 SharePoint 网站进行身份验证。 WebClient 拥有您进行身份验证所需的一切。

【讨论】:

  • 您能否举例说明更新后的代码如何为您工作?我已经尝试过这条路线,但我似乎遗漏了一些东西。
猜你喜欢
  • 2019-01-24
  • 2018-04-20
  • 1970-01-01
  • 1970-01-01
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多