微软Web Services里的SetItemParameters 函数求助?

0
我有一 个问题 
SSRS Report 已经可以运行在 Report 服务器上, 现在从 SSIS 包中的 "Script Task"  有如下代码: 

public void Main()
{
ReportingService2010 rs = new ReportingService2010();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
rs.Url = http://somesever:8080/ReportSe ... dl%3B
string report = "/ABM_REPORTS/Master/SSIS Linked Monthly Report";
bool forRendering = false;
string historyID = null;
ParameterValue[] values = null;
DataSourceCredentials[] credentials = null;
ItemParameter[] parameters = null;
int counter = 0;
try
{
    parameters = rs.GetItemParameters(report, historyID, forRendering, values, credentials);
    Console.WriteLine("parameters[0].Name = " + parameters[0].Name);
    Console.WriteLine("parameters[0].DefaultValues = " + parameters[0].DefaultValues); 
    // NEED Help !!!
    rs.SetItemParameters(report, parameters[0].DefaultValues.SetValue("My_DB_Name", ???? ));
    Console.WriteLine("NOW parameters[0].DefaultValues = " + parameters[0].DefaultValues);    
}
catch (SoapException e)
{
    Console.WriteLine(e.Detail.InnerXml.ToString());
}
Dts.TaskResult = (int)ScriptResults.Success;
}

我想做的是给报告的第一个参数赋一个初始值, 故 用户只需 键入第二及第三个参数(该报表有3个参数)
实现用的是Web Services中的SetItemParameters 函数-- 但就是 死活 通不过编译   但GetItemParameters 就没问题 -- 非常纠结!! 

如果只Get, 不Set, 运行输出如下: 
parameters[0].Name = databaseName
parameters[0].DefaultValues = 

但只要一加上 这一句 rs.SetItemParameters(report, parameters[0].DefaultValues.SetValue("My_DB_Name", 1 )); 就报错:
Argument '2': cannot convert from 'void' to 'ST_a6ff246c0xxxc.csproj.ReportService2010.ItemParameter[]'

难道是 “1” 有问题?? 不是 要求一个 INT / Long  吗 ?? 也试过 parameters[0] , 也不行 !! 郁闷死了 -- 到底 编译器 想怎样啊 ??
已邀请:
0

- 取是能力,舍是境界 2015-11-03 回答

// NEED Help !!!
client.SetItemParameters(report, new ItemParameter[]{
new ItemParameter{
Name="My_DB_Name",
DefaultValues = new string[]{"????"} //这儿需要改成你的值
}
});

要回复问题请先登录注册