【问题标题】:Issues connecting to local .rdl report.连接到本地 .rdl 报告的问题。
【发布时间】:2018-03-02 00:52:12
【问题描述】:

现在,我一直在这里寻找相同问题的一些答案,但没有一个能真正解决问题或包含足够的信息来澄清一些信息。

现在我首先制作了一个连接到 access 数据库的 .rdl 报告。到目前为止一切都很好。现在我想在没有服务器(本地)的情况下将它与我的软件连接起来查找代码,我最接近的工作是这样的:

Private Sub GenerateLocalReport()

    ReportViewer1.ProcessingMode = ProcessingMode.Local
    ReportViewer1.LocalReport.ReportPath = "D:\work\OrdersInvoice\ReportInvoice\ReportInvoice\OrdersReport.rdl"

    reportViewer.RefreshReport()
    ReportViewer1.RefreshReport()
End Sub

现在的问题是上面的代码不起作用。我收到以下消息:尚未为数据源提供数据源实例。

通过搜索我发现我需要添加一些东西作为数据绑定。现在是混乱开始的地方。

    Dim ds = New ReportDataSource("DataSet1",???)
    reportViewer1.LocalReport.DataSources.Add(ds)

这是我能得到的最直接的代码。但我不知道绑定数据源是什么意思。我试图在程序中创建一个数据源,但这不是真正的答案。我有点迷路了。

我发现的另一个应该执行相同操作的代码是:

ReportViewer1.LocalReport.DataSources.Add(TempDBDataSet.OrderTableDataTable

同样的问题

C# 或 VB.net 中的答案都可以。

【问题讨论】:

    标签: c# vb.net reporting-services objectdatasource rdl


    【解决方案1】:

    我相信我在经过反复试验后解决了这个问题。首先是我使用的代码:

    Dim dataset As New DataSet("DataSet1")
    Dim Conn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\TempDB.mdb;User Id=admin;
        Password=;")
    Dim Adb As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("Select * from OrderTable", Conn)
    Adb.Fill(dataset)
    Dim rds As New ReportDataSource()
    rds.Name = "DataSet1"
    rds.Value = dataset.Tables(0)  
    ReportViewer1.LocalReport.DataSources.Add(rds)
    

    所以我所做的就是连接到连接到报表的数据库,然后将数据库中的数据填充到我的数据集,使用它来访问我最终为 ReportDataSource 引用的表。

    之后效果很好。

    【讨论】:

      【解决方案2】:

      有两种类型的 Reporting Services 文件:RDL 和 RDLC。

      两者的功能非常相似。

      RDL 文件设计为在报告服务器上运行,服务器根据报告中提供的连接信息负责创建和填充数据源。

      RDLC 文件旨在嵌入到您的客户端应用程序中,使用报表查看器控件,无需服务器。您还必须在客户端应用程序中手动连接和填充数据源(正如您在回答中所做的那样)。

      【讨论】:

      • 那么,对于离线应用,RDLC 是更好的选择吗?
      • 要使用 RDL 文件,您需要一个运行的 SQL Server Reporting Services 实例,与离线应用程序完全分离
      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 2012-09-22
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2023-02-07
      相关资源
      最近更新 更多