【发布时间】:2017-01-24 09:33:38
【问题描述】:
大家好,我正在尝试将数据源设置为创建的报告,但我遇到了上述异常
这是我正在使用的代码
$Proxy = New-WebServiceProxy -Uri $ReportingServiceUrl -UseDefaultCredential
$ReportName = "MyReport"
$path="/"
$allitems = $Proxy.ListChildren("/",$true)
#Select the newest report with correct name
$ThisReport = $allitems | where {($_.Name -eq $ReportName) } | Sort-Object ModifiedDate -Descending | Select -first 1
$datasource = $DataSourceName
$objdataSource = $Proxy.GetItemDataSources($thisreport.path)
#Generate new data source reference
$proxyNamespace = $objdataSource.GetType().Namespace
$DataSourceReference = new-object ("$proxynamespace.DataSourceReference")
$DataSourceReference.Reference = ($allitems | where {($_.Type -eq "DataSource") -and ($_.Name -eq $datasource)}).Path
$objdataSource[0].item = $DataSourceReference
Write-Verbose "Updating datasource"
$Proxy.SetItemDataSources($ThisReport.Path, $objdataSource) //$ThisReport.Path I am getting this as /MyReport
# !!!!遇到错误!!!! #使用“2”参数调用“SetItemDataSources”的异常: “System.Web.Services.Protocols.SoapException:项目的路径'' 无效。完整路径的长度必须少于 260 个字符; 其他限制适用。如果报表服务器处于本机模式,则 路径必须以斜杠开头。 ---> Microsoft.ReportingServices.Diagnostics.Utilities.InvalidItemPathException: 项目 '' 的路径无效。完整路径必须小于 260 个字符长;其他限制适用。如果报表服务器是 在本机模式下,路径必须以斜杠开头。在 Microsoft.ReportingServices.Library.ReportingService2005Impl.SetItemDataSources(字符串 项目,DataSource[] DataSources,Guid batchId)在 Microsoft.ReportingServices.Library.ReportingService2005Impl.SetItemDataSources(字符串 项目,数据源 [] 数据源)在 Microsoft.ReportingServices.WebServer.ReportingService2010.SetItemDataSources(字符串 ItemPath, DataSource[] DataSources)"
#
【问题讨论】:
标签: reporting-services powershell-4.0