Wie man eine Verbindungszeichenfolge in einen Webreport FastReport.NET übergeben kann

2020-05-02

Manchmal gibt es die Situation, in denen man einen Webreport zu einer anderen Datenquelle einrichten muss. Das kann notwendig sein, wenn der Bericht mit der Verwendung der Testdatenbank entwickelt wurde, oder eine Datenbank einfach an einen anderen Ort "verschoben" wurde. Oder vielleicht müssen Sie andersherum einen Bericht mit den Testdaten verbinden. Verschiedene Möglichkeiten sind zur neuen Konfiguration der Verbindungszeichenfolge sehr nützlich. In FastReport.Net geht das sehr einfach. Und ich werde Ihnen zeigen, wie man es macht.

Nehmen wir das Beispiel der ASP.Net Core-App. Ich möchte Sie daran erinnern, dass unsere Aufgabe darin besteht, vom Client-Teil zu der Verbindungszeile des Berichts zu übertragen. Es gibt zwei Möglichkeiten: übertragen Sie die Einstellung in den Bericht und im Berichtsskript, um die Verbindungszeile zu überschreiben, oder überschreiben Sie die Verbindungszeile direkt im Web-Controller der Anwendung. Der zweite Weg ist rationeller. Das werde ich Ihnen jetzt zeigen.

Der Controller wird das Indexierverfahren verwenden. Hier werden wir ein Bericht-Objekt erstellen und eine neue Verbindungszeichenfolge zuweisen. Daher wird das Verfahren einen Parameter entgegennehmen - die Verbindungszeichenfolge.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class HomeController : Controller
 {
 public IActionResult Index(string connstring)
 {
 WebReport webReport = new WebReport();
 if (connstring is null)
 {
 webReport.Report.Load("reports/Empty.frx");
 }
 else
 {
 webReport.Report.Load("reports/Master-Detail.frx");
 webReport.Report.Dictionary.Connections[0].ConnectionString = connstring;
 }
 ViewBag.WebReport = webReport;
 return View();
 }
}

Das Indexierverfahren nimmt den Parameter Constring, der beim Start zunächst gleich Null ist. Damit ein Web-Objekt bei der Anzeige der Seite nicht mit Fehlern übersät ist, müssen Sie es in die Berichtsvorlage laden. Da die Verbindungszeichenfolge noch nicht bekannt ist, lassen Sie es eine leere Vorlage. Wenn die Verbindungszeichenfolge gesetzt ist, laden wir die gewünschte Berichtsvorlage und definieren sie in der Verbindungszeichenfolge neu. Alles ist sehr einfach.

Wenn die Berichtsvorlage zunächst keine Verbindung zur Datenquelle hat, können Sie sie hinzufügen. Hier ist ein Beispiel für die Verbindung zu einer Datenbank MSSQL:

1
2
3
4
5
6
RegisteredObjects.AddConnection(typeof(MsSqlDataConnection));
 MsSqlDataConnection sqlConnection = new MsSqlDataConnection();
 sqlConnection.ConnectionString = connstring;
 sqlConnection.CreateAllTables();
 webReport.Report.Dictionary.Connections.Add(sqlConnection);
 webReport.Report.Load("reports/CoreMSSQL.frx");

Das Indexierverfahren sollte eine entsprechende Ansicht haben. Fügen Sie den folgenden Code hinzu: 

1
2
3
4
5
6
7
8
@{
 ViewData["Title"] = "Home Page";
}
<form asp-controller="Home" asp-action="Index" method="post">
 <input type="text" name="connstring">
 <input type="submit" value="Click">
</form> 
@await ViewBag.WebReport.Render()

Hier haben wir ein Formular verwendet, das auf Das Indexierverfahren verweist. Es hat ein Textfeld mit dem Namen und der Schaltfläche "constring". Der Inhalt des Textfeldes wird als Parameter an das Verfahren übergeben.

Schauen wir uns jetzt an, was wir bekommen haben:

Zu Beginn war die Verbindungszeile nicht gesetzt, so dass die leere Berichtsvorlage hochgeladen wurde. Versuchen wir, die Verbindungszeile zur Xml-Datenbank einzugeben:

"XsdFile=;XmlFile=C:\\Users\\\Dimon\\source\\repos\\PassConnectionstring\\PassConnectionstring\\reports\\nwind.xml"

Nun erhalten wir den Bericht:

Auf diese Weise können Sie immer die Lösung zu einer Situation finden, in der der Bericht keine Verbindung zur Datenquelle herstellen kann, weil diese nicht zugänglich ist. 

.NET .NET FastReport FastReport
12. Oktober 2026

Wie Frieren Sie Zeilen und Spalten Beim Exportieren von FastReport .NET

Erfahren Sie, wie Sie beim Export von Berichten aus FastReport .NET in OpenOffice Calc und Excel Zeilen und Spalten fixieren können, um große Tabellen bequem anzuzeigen.
12. Oktober 2026

So Exportieren Sie einen Bericht von FastReport .NETZ Zugängliche PDF-Dokument (PDF/UA-1)

So exportieren Sie einen Bericht aus FastReport .NET als PDF/UA-1-konforme Datei: Konfiguration über die Benutzeroberfläche und C#-Code, die Rollen „SemanticRole“ und „AltText“ sowie die Validierung.
12. Oktober 2026

Einen Bericht exportieren in XML aus der Vorschau in FastReport .NET

Erfahren Sie, wie Sie einen Bericht in FastReport .NET im XML-Format speichern können: Export aus der Vorschau ohne Programmcode und programmgesteuerter Export über XMLExport mit anpassbaren Parametern.

© 1998-2026 Fast Reports Inc.