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