微软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] , 也不行 !! 郁闷死了 -- 到底 编译器 想怎样啊 ??
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] , 也不行 !! 郁闷死了 -- 到底 编译器 想怎样啊 ??
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
1 个回复
悟 - 取是能力,舍是境界 2015-11-03 回答
赞同来自: