How to pass a connection string in the web report FastReport .NET

2020-05-02

Sometimes I'm having a situation where you need to set up a web report to another data source. This may be necessary if the report was developed with the use of the test database, or a database simply "moved" to another location. Or maybe the other way around you need to connect a report to the test data. Either way, the ability to reconfigure the connection string is very useful. In FastReport .NET do it very simply. And I'll tell you how to do it.

Let's take the example of ASP .NET Core app. Let me remind you that our task is to transfer from the client part of the connection line to the report. There are two ways to do this: transfer the setting to the report and in the report script to override the connection line, or override the connection line directly in the web controller of the app. The second way is more rational. That's what I'm going to show you.

The controller will use the method Index. This is where we will create a report object and assign a new connection string. Therefore, the method will take a parameter - the connection string.

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();
 }
}

 Index method takes parameter Constring, which is initially at startup is equal to null. To report a Web object is not sprinkled with errors when displaying the page, you need to download it to the report template. Since the connection string is not yet known, then let it be a blank template. When the connection string is set, we load the desired report template and redefining it in the connection string. Everything is very simple.

If the report template initially has no connection to the data source, you can add it. Here is an example to connect to a database 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");

 The Index method should have an appropriate view. Add the following code:

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()

 Here we used a form that refers to the Index method. It has a text field with the name and constring button. The contents of the text field will be passed as a parameter to the method.

Now let's see what we've got:

Initially, the connection line was not set, so the blank report template was uploaded. Let's try to enter the connection line to the xml database:

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

Now we get the report:

This way you can always get out of a situation where the report cannot connect to the data source, because of its inaccessibility.

.NET .NET FastReport FastReport
April 08, 2026

New Banding Capabilities in the FastReport .NET Designer

In version 2026.2 of FastReport .NET now allows you to change the order of bands directly in the designer — with a simple drag-and-drop operation.
April 07, 2026

How To Connect a Plugin to Google Sheets in FastReport .NET

In this article, we'll look at how to get started with Google Sheets in FastReport .NET. You will learn how to set up API access via the Google Cloud Console, build and connect the plugin.
April 06, 2026

How to Configure New QR Code Rendering Modes in FastReport .NET

In this article, we'll look at how to replace the standard QR code modules in FastReport .NET on decorative shapes: circles, stars, hexagons, and others.