Nun habe ich hier ein paar Antworten hier für die gleiche Frage gesucht, aber keine wirklich das Problem gelöst oder genug Informationen enthalten, um ein paar Informationen zu klären.Probleme beim Herstellen einer Verbindung zum lokalen RDL-Bericht.
Als Erstes habe ich einen RDL-Bericht erstellt, der eine Verbindung zu einer Access-Datenbank herstellt. Alles gut bis jetzt. Jetzt möchte ich es mit meiner Software die Codes ohne einen Server (lokal) nachgeschlagen verbinden und die am nächsten kam ich etwas zu arbeiten, ist dies:
Private Sub GenerateLocalReport()
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = "D:\work\OrdersInvoice\ReportInvoice\ReportInvoice\OrdersReport.rdl"
reportViewer.RefreshReport()
ReportViewer1.RefreshReport()
End Sub
nun das Problem ist, dass der obige Code funktioniert nicht. Ich erhalte die folgende Nachricht: Eine Datenquelleninstanz wurde für die Datenquelle nicht bereitgestellt.
Durch die Suche, was ich gefunden habe, musste ich etwas als Databinding hinzufügen. Hier beginnt die Verwirrung.
Dim ds = New ReportDataSource("DataSet1",???)
reportViewer1.LocalReport.DataSources.Add(ds)
Dies ist der direkteste Code, den ich bekommen konnte. Aber ich habe keine Ahnung, was sie mit verbindlichen Datenquellen meinen. Ich habe versucht, eine Datenquelle im Programm zu erstellen, aber es ist nicht die richtige Antwort. Ich bin hier etwas verloren.
Ein anderer Code, den ich gefunden, die das gleiche tun sollten, ist:
ReportViewer1.LocalReport.DataSources.Add(TempDBDataSet.OrderTableDataTable
wieder gleiche Problem
Antworten entweder in C# oder VB.net sind in Ordnung.
Also, für Offline-Anwendungen ein RDLC ist eine bessere Option? –
Nun, um RDL-Dateien zu verwenden, benötigen Sie eine Instanz von SQL Server Reporting Services, die vollständig von einer Offlineanwendung getrennt ausgeführt wird –