【问题标题】:SSRS SetItemDataSource giving exceptionSSRS SetItemDataSource 给出异常
【发布时间】: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


    【解决方案1】:

    这就是我弄清楚为什么因为这条线而抛出的原因

    $DataSourceReference.Reference = ($allitems | where {($_.Type -eq "DataSource") -and ($_.Name -eq $datasource)}).Path
    

    这应该是

    $DataSourceReference.Reference = ($allitems | where {(**$_.TypeName** -eq "DataSource") -and ($_.Name -eq $datasource)}).Path
    

    它无法将 DataSource 路径设置为根 (/),因为它返回 null。请尝试告诉我

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多