我最近正在部署很多报告。 所以我保持代码和版本清晰和理解, 我希望每个报告都有一个存储过程。 大部分时间我需要为一份报告提供更多数据集。 是否有可能在报告SSRS中有多个数据集,只为该报告调用一个存储过程。 (我正在使用Sql Report Server 2008上托管的远程报告)。
我使用熟悉的Issue whit示例控制台应用程序,使用一个存储过程从SQL创建多个CSV文件。 snipes代码看起来像这样:
SqlConnection conn = new SqlConnection(strConn);
SqlCommand command = new SqlCommand("sp_ado_pos_data", conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@skl_id", SqlDbType.Int).Value = 158;
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);
for (int i = 0; i < ds.Tables.Count; i++)
{
string datoteka = (string.Format(@"{0}tablea{1}.csv", direktorij, i));
DataTable tabela = ds.Tables[i];
//Here I fill datasets with multiple results from one stored proc.
CreateCSVFile(tabela,datoteka );
Console.WriteLine("Generišem tabelu {0}", datoteka);
}
答案 0 :(得分:1)
对于通过默认报告查看器显示的标准报告,似乎无法做到这一点 - SSRS忽略了多结果集源中的第一个结果集。
但是,基于this article,它似乎可以在独立报告(.rdlc扩展名)中使用。我不确定这是否意味着,使用自定义报表查看器,可以以类似的方式配置标准.rdl报表。