【发布时间】:2018-12-05 13:41:40
【问题描述】:
我有一个 PowerShell 脚本,它应该为报告设置正确的数据源。
我有更多数据源,例如 DS1 和 DS2。
这是我的 PowerShell 代码的一部分:
function UpgradeReport
{
param
(
[string]$t,
[string]$ReportFolder,
[string]$ReportName,
[string]$DataSourceFolder,
[string]$IssueId
)
if([string]::IsNullOrEmpty($DataSourceFolder)) { $DataSourceFolder="DS1" }
.......
# if all ok since now, report is uploaded
# set datasource if new report
if (!$reports.$reportName) {
Write-Host $reportName ' is new. Setting data source: ' $DataSourceFolder
$Proxy.SetItemDataSources("/$reportFolder/$reportName", $datasources.$DataSourceFolder)
}
Write-Output "$(Timestamp) Finished InstallReports for $ReportName"
.....
# get list of all datasources
$Proxy.ListChildren('/Data Sources', $false) | ForEach-Object { $datasources.add($_.Name,$_ ) }
问题可能出在SetItemDataSources 我有$datasources.$DataSourceFolder
如果有人知道我该如何解决这个问题,我会很高兴。
【问题讨论】:
-
$datasources是一个未知变量。至少,在您向我们展示的内容中,它“就在那里”。我认为您可能需要将$Proxy.SetItemDataSources("/$reportFolder/$reportName", $datasources.$DataSourceFolder)更改为$Proxy.SetItemDataSources("/$reportFolder/$reportName", $DataSourceFolder) -
修复什么?有什么问题?我们需要对问题的描述以及任何错误消息。
标签: powershell reporting-services reporting-services-2012