1

我最近部署了很多报告。所以我保持代码和版本清晰易懂,我希望每个报告都有一个存储过程。大多数时候,我需要为一份报告提供更多数据集。我是否有可能在报告 SSRS 中拥有一个以上的数据集,以便只为该报告调用一个存储过程。(我正在使用托管在 Sql Report Server 2008 上的远程报告)。

我使用熟悉的 Issue whit 示例控制台应用程序,使用一个存储过程从 SQL 创建多个 CSV 文件。代码片段看起来像这样:

        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);
        }
4

1 回答 1

1

对于通过默认报表查看器呈现的标准报表,这似乎是不可能的——SSRS 会忽略来自多结果集源的除第一个结果集之外的所有结果集。

但是,根据这篇文章,似乎可以在独立报告(.rdlc 扩展名)中使用。我不确定这是否意味着,使用自定义报告查看器,标准 .rdl 报告可以以类似的方式进行配置。

于 2009-04-17T12:03:31.330 回答