New to Telerik Reporting? Download free 30-day trial

Overview

Npgsql is an open-source ADO.NET Data Provider for PostgreSQL, it allows programs written in C#, Visual Basic, and F# to access the PostgreSQL database server and execute queries to it.

Setting up the Npgsql Data Provider in the .NET Standalone Report Designer

  1. Create a new .NET 8 Console Application project.
  2. Install the Npgsql NuGet package to it and build the project.
  3. Navigate to the bin/Debug/net8.0 subdirectory of the project, and copy all assemblies there except for the assembly with the name of the project.
  4. Paste the assemblies in the .NET Standalone Report Designer installation directory e.g. C:\Program Files (x86)\Progress\Telerik Reporting 2024 Q3\Report Designer\.NET.
  5. Start the .NET Standalone Report Designer from the same directory and add a new SqlDataSource component which should trigger the SqlDataSource Wizard. The Npgsql data provider should now be listed among the rest of the data providers when building a new connection.

Setting up the Npgsql Data Provider in the .NET Framework Standalone Report Designer

MSI Installation - Npgsql 3.2.7

  1. Install Npgsql version 3.2.7 by using the .MSI file. Note that the SqlDataSource component will list and work with any ADO.NET provider that is correctly registered on the device;
  2. Add SQL Data Source -> Build new data connection -> select Npgsql Data Provider;
  3. Add the Connection string in the field. For example:

    Server=127.0.0.1;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword;

  4. Click Next -> fill in the Select Statement or use the Query Builder -> Finish.

Manual Configuration

  1. Create a new .NET Framework 4.6.2 Comsole Application project.
  2. Install the Npgsql 8.0.4 NuGet package to it and build the project. package;
  3. Navigate to the bin/Debug subdirectory of the project, and copy all assemblies there except for the assembly with the name of the project.
  4. Paste the assemblies in the .NET Framework Standalone Report Designer installation directory e.g. C:\Program Files (x86)\Progress\Telerik Reporting 2024 Q3\Report Designer.
  5. Open the App.config file of the application and copy the binding redirects;
  6. Open the configuration file of the Standalone designer (Telerik.ReportDesigner.exe.config) and add the binding redirects:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <configSections>
            <section
                    name="Telerik.Reporting"
                    type="Telerik.Reporting.Configuration.ReportingConfigurationSection, Telerik.Reporting"
                    allowLocation="true"
                    allowDefinition="Everywhere"/>
        </configSections>
    
        <runtime>
            <dependentAssembly>
                <assemblyIdentity name="Npgsql" culture="neutral" publicKeyToken="5d8b90d52f46fda7"/>
                <bindingRedirect oldVersion="0.0.0.0-8.0.4.0" newVersion="8.0.4.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
            </dependentAssembly>
            </assemblyBinding>
        </runtime>
    
        <system.data>
            <DbProviderFactories>
                <add name="Npgsql Data Provider"
                    invariant="Npgsql"
                    description=".NET Framework Data Provider for Postgresql Server"
                    type="Npgsql.NpgsqlFactory, Npgsql, Version=8.0.4.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
            </DbProviderFactories>
        </system.data>
    <configuration>
    

Setting up the Npgsql Data Provider in .NET Applications

The Npgsql data provider is automatically registered in the Telerik.Reporting.Processing.Data.DbProviderFactories. To use this data provider, it should be enough to install the Npgsql NuGet package to the project.

If the SqlDataSource component uses a shared connection where it is retrieved from the configuration file of the project(e.g. appsettings.json), the provider name must be specified in the connection. For example:

{
    "ConnectionStrings":{
        "postgres":{
            "connectionString":"Server=127.0.0.1;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword;",
            "providerName":"Npgsql"
        }
    }
}

See Also

In this article