尚未为数据源提供数据源实例

时间:2010-10-26 19:48:21

标签: c# reportviewer reporting-services

我目前正在尝试将rdl报告动态发送到ReportViewer .net对象。

我这样做时一直收到错误:没有为数据源提供数据源实例“blah”

我正在尝试在运行时在我的代码中定义“blah”。

ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;
  ReportViewer1.LocalReport.ReportPath = ReportFile;
  ReportViewer1.LocalReport.DataSources.Clear();
  Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource();
  rds.Name = "blah";
  ReportViewer1.LocalReport.DataSources.Add(rds);
  ReportViewer1.DocumentMapCollapsed = true;
  ReportViewer1.LocalReport.Refresh();

远远不能正常工作。我不确定我应该做什么。这是我的rdl文件顶部的摘录:

  <DataSource Name="blah">
      <rd:DataSourceID>c6a8409e-71a4-4e96-86ad-b300a5b942c3</rd:DataSourceID>
      <ConnectionProperties>
        <DataProvider>SQL</DataProvider>
        <ConnectString>Data Source=10.555.121.121;Initial Catalog=blah</ConnectString>
        <IntegratedSecurity>true</IntegratedSecurity>
      </ConnectionProperties>
    </DataSource>
  </DataSources>

我所要做的就是在报告中选择“在blah”中的表格。我需要这个工作,因为我需要在ReportViewer中显示许多其他报表实例。为什么微软不能让这更容易?

先谢谢任何人......

1 个答案:

答案 0 :(得分:0)

ReportViewer控件旨在使用 RDLC 报告文件而不是RDL报告文件在本地模式下工作。 ReportViewer控件仅用于呈现报表,因此忽略可能存在的任何数据集和连接信息(即,如果使用RDL文件而不是RDLC文件)。目的是创建任何连接,查询数据源,将结果放入DataTables并添加这些连接,以便为调用应用程序中的reportViewer控件创建reportDataSource。

来自MSDN:

  

在本地处理模式下,控件会打开报告定义,   处理它,然后在视图区域中呈现报表。在当地   在处理模式下,您可以从.rdlc文件中获取报告定义   在文件系统上,从流中,或从中的嵌入式资源   你的申请。

更多信息:Adding and Configuring the ReportViewer Controls

另请参阅:When to use RDLC over RDL reports?