こんにちは、私が作成したレポートにデータソースを設定しようとしていますが、 SSRS SetItemDataSource与える例外
この
を述べたように、私は例外を取得していますすべてがある、私が使用していたコード$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:アイテムのパス 『』 が有効でない完全なパスが小さくなければなりません。レポートサーバーがネイティブモードの場合、 のパスはスラッシュで始まる必要があります---> Microsoft.ReportingServices.Diagnostics.Utilities.InvalidItemPathException: アイテムのパスが255文字以上になる必要があります。 'は有効ではありません。完全なパスは 以下である必要があります。その他の制限が適用されます。ネイティブモードでレポートサーバーが の場合、パスはスラッシュで始まる必要があります。 Microsoft.ReportingServices.Library.ReportingService2005Impl.SetItemDataSources Microsoft.ReportingServicesで(文字列 項目、データソース[]データソース、のGUID batchId) Microsoft.ReportingServices.Library.ReportingService2005Impl.SetItemDataSourcesで(文字列 項目、データソース[]データソース)。 WebServer.ReportingService2010.SetItemDataSources(文字列 ItemPathは、データソース[]データソース)」
#ここで
Thanks 'Dotnet' – Learner