logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • Статьи
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Создание отчетов с PostgreSQL в приложении .NET 5 под Debian 10
  • Пакет FastReport.NET и .NET 5.0

    17 декабря 2020 г.

    UPD: Актуально до версии FastReport .NET 2022.2. Теперь лицензионные пакеты доступны на нашем NuGet-сервере. С

    Подробнее
  • Отчёт из PostgreSQL в приложении .NET 5 под управлением Astra Linux

    4 декабря 2020 г.

    Сегодня мы поговорим о российской операционной системе Astra Linux. Эта система получила в последнее время

    Подробнее
  • Работа с NuGet пакетами FastReport

    22 ноября 2021 г.

    UPD: Актуально до версии FastReport .NET 2022.2. Теперь лицензионные пакеты доступны на нашем NuGet-сервере.

    Подробнее
  • Отчёты и PDF документы в Blazor приложении

    5 апреля 2021 г.

    Недавно Microsoft выпустила веб-платформу под названием Blazor. Этот фреймворк позволяет создать интерактивный веб-интерфейс при помощи

    Подробнее
  • Семейство генераторов отчетов FastReport - быстрый обзор

    23 марта 2020 г.

    Отчетность – без нее невозможно вести деятельность ни в одной сфере жизнедеятельности. Бюрократия является неодолимой

    Подробнее

Создание отчетов с PostgreSQL в приложении .NET 5 под Debian 10

25 мая 2022 г.

Многие нуждаются в решении, которое будет генерировать отчеты под Linux системами, а также будет поддерживать работу с SQL подобными базами данных и не только. И у нас есть такое решение в виде FastReport.Core. Данная библиотека позволяет создавать отчеты под разными дистрибутивами Linux и имеет возможность подключаться к различным базам данных. В этой статье мы рассмотрим как это реализовать на дистрибутиве Debian 10 c использованием PostgreSQL.

Для начала устанавливаем PostgreSQL на Debian 10. Подробная установка описана по следующей ссылке. Проверим работоспособность Postgres перейдя в терминал. Переключаемся на учетную запись postgres с помощью следующей команды:

$ sudo -i -u postgres

После этого для получения доступа к оболочке postgres пишем следующее:

$ psql

Теперь у нас есть доступ к командной строке postgres, и дополнительно мы убедились в её работоспособности.

Добавляем пароль для юзера postgres вместо ‘password123’:

ALTER USER postgres WITH PASSWORD ‘password123’

Создаём тестовую таблицу:

CREATE TABLE test (city varchar(80), temp_lo int, temp_hi int);

И заполняем её данными:

INSERT INTO test VALUES ('Chicago',30,40);

Готово, теперь проверим таблицу на наличие данных с помощью следующей команды. Результат отражен на рисунке ниже.

SELECT * FROM test;

Вывод команды SELECT * FROM test;

Для создания приложения на .NET 5.0 нам понадобиться установить сам DotNet. Переходим на страницу с подробной установкой и внимательно изучаем все необходимые моменты. Для более удобной работы можно загрузить VS code по этой ссылке. Затем скачиваем deb пакет и устанавливаем его на свой компьютер.

В самом VS code скачиваем плагины С# и Nuget Gallery. Последний нужен для удобного поиска и правильной установки nuget пакетов.

Создаем проект в VS code, для этого нажимаем CTRL + J чтобы открылась консоль внутри VS code. После вводим эту команду:

dotnet new console

Следующим шагом после создание проекта, нам нужно скачать и установить нужные библиотеки. По завершению прошлых действий открываем Nuget Gallery в тестовом проекте.

Открытие Nuget Gallery

Ищем FastReport.Core и устанавливаем его. Обязательно проверьте галочку напротив Prerelease, так как данный пакет является демонстрационной версией, иначе пакет не будет отображаться.

Поиск FastReport.Core в Nuget

Коннектор не является демонстрационной версией, так что не обязательно ставить галочку напротив Prerelease. Достаточно найти в строке поиска FastReport.Data.Postgres и установить его точно так же, как и прошлый пакет.

Поиск FastReport.Data.Postgres в Nuget

После установки всех необходимых компонентов открываем Program.cs в нашем проекте и вставляем следующий код в метод main:

using System;
using FastReport;
using FastReport.Data;
using FastReport.Utils;
using FastReport.Export.Pdf;
 
static void Main(string[] args)
{
//Создание подключения к PostgreSQL
 
RegisteredObjects.AddConnection(typeof(PostgresDataConnection));
PostgresDataConnection connection = new PostgresDataConnection();
connection.ConnectionString = "Host=localhost;Username=postgres;Password=1234;Database=postgres";
connection.CreateAllTables();
 
//Создание отчета и подключение базы и таблицы к отчету
 
Report report = new Report();
report.Dictionary.Connections.Add(connection);
connection.Enabled = true;
 
foreach(TableDataSource table in connection.Tables)
{
if(table.Name == "public_test")
{
table.Enabled = true;
}
}
 
ReportPage page = new ReportPage();
report.Pages.Add(page);
page.CreateUniqueName();
 
DataBand dataBand = new DataBand();
page.Bands.Add(dataBand);
dataBand.CreateUniqueName();
 
//Присваиваем DataBend нашу таблицу
 
dataBand.DataSource = report.GetDataSource("public_test");
dataBand.Height = Units.Centimeters * 0.5f;
 
TextObject City = new TextObject();
City.CreateUniqueName();
City.Bounds = new System.Drawing.RectangleF(0,0,100,100);
City.Parent = dataBand;
 
//Присваиваем значения текстовому объекту из поля DB
 
City.Text = "[public_test.city]";
 
TextObject temp_lo = new TextObject();
temp_lo.CreateUniqueName();
temp_lo.Bounds = new System.Drawing.RectangleF(150,0,100,100);
temp_lo.Parent = dataBand;
temp_lo.Text = "[public_test.temp_lo]";
 
TextObject temp_hi = new TextObject();
temp_hi.CreateUniqueName();
temp_hi.Bounds = new System.Drawing.RectangleF(300,0,100,100);
temp_hi.Parent = dataBand;
temp_hi.Text = "[public_test.temp_hi]";
 
report.Prepare();
 
PDFExport pDF = new PDFExport();
pDF.Export(report,"test.pdf");
 
}

Компилируем и запускаем наш проект. Он создаст вот такой PDF файл отчета:

PDF экспорт тестового отчета

Вывод будет очень простым. Подключать базу данных к собственному приложению совершенно не сложно, как раз сегодня мы создали отчет с использованием данных из базы PostgreSQL в дистрибутиве Debian 10.

О продукте Скачать Купить
avatar
Marat Alaev
Поддержка и тестирование
Fast Reports Team: Marat Alaev - Quality Assurance at Fast Reports
.NET Visual Studio FastReport Linux Core SQL .NET5 NuGet

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • Онлайн поддержка
  • FAQ
  • Видео уроки
  • Форум
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • Нестандартное лицензирование
  • ВУЗам
  • Карьера
  • Контакты

© 1998-2022 ООО «Фаст Репортс»

  • Согласие с обработкой персональных данных
  • Не является публичной офертой