从一个存储过程在报表服务器中使用更多数据集

时间:2009-04-16 14:56:26

标签: reporting-services ssrs-2008

我最近正在部署很多报告。 所以我保持代码和版本清晰和理解, 我希望每个报告都有一个存储过程。 大部分时间我需要为一份报告提供更多数据集。 是否有可能在报告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);
        }

1 个答案:

答案 0 :(得分:1)

对于通过默认报告查看器显示的标准报告,似乎无法做到这一点 - SSRS忽略了多结果集源中的第一个结果集。

但是,基于this article,它似乎可以在独立报告(.rdlc扩展名)中使用。我不确定这是否意味着,使用自定义报表查看器,可以以类似的方式配置标准.rdl报表。