logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • About
  • Customer panel Wsparcie techniczne
    • en
    • de
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Raportowanie z PostgreSQL w aplikacji .NET 5 dla Debian 10
  • Pakiety FastReport .NET i .NET 5.0

    17 grudnia 2020

    UPD: Dotyczy wersji FastReport. NET przed 2022.2. Pakiety licencji są już dostępne na naszym serwerze

    read more
  • Rodzina generatorów raportów FastReport krótka recenzja

    23 marca 2020

    Bez raportowania nie da się prowadzić działalności w żadnej dziedzinie. Biurokracja jest nieodłączną częścią ludzkiego

    read more
  • Uruchamianie aplikacji z FastReport .NET w Docker na Linuxie

    17 listopada 2021

    Docker to platforma programistyczna do szybkiego tworzenia, testowania i wdrażania aplikacji. Pozwala nam to na

    read more
  • Praca z pakietami NuGet FastReport

    22 listopada 2021

    UPD: Dotyczy wersji FastReport. NET przed 2022.2. Pakiety licencji są już dostępne na naszym serwerze

    read more
  • Budowanie biblioteki libgdiplus ze źródła

    2 października 2020

    Korzystając z bibliotek FastReport.NET (Core), FastReport Open Source i FastReport Mono w systemie operacyjnym Linux,

    read more

Raportowanie z PostgreSQL w aplikacji .NET 5 dla Debian 10

25 maja 2022

Z pewnością wielu potrzebuje rozwiązania, które będzie generować raporty dla systemów Linux, a także wspierać pracę z bazami danych typu SQL i nie tylko. My mamy takie rozwiązanie FastReport.Core. Biblioteka ta pozwala na tworzenie raportów pod różnymi dystrybucjami Linuksa i może łączyć się z różnymi bazami danych. W tym artykule przyjrzymy się, jak zaimplementować ją na dystrybucji Debian 10 z wykorzystaniem PostgreSQL.

W pierwszej kolejności należy zainstalować PostgreSQL na Debianie 10. Szczegółowy opis procesu instalacji znajdziesz pod poniższym linkiem. Przetestujmy wydajność Postgresa, przechodząc do terminala. Przełącz się na swoje konto Postgres za pomocą następującego polecenia:

$ sudo -i -u postgres

Po tym wpisujemy poniższe, aby uzyskać dostęp do warstwy postgres:

$ psql

Teraz mamy dostęp do linii poleceń postgres, a dodatkowo sprawdziliśmy, że to działa.

Dodaj hasło dla użytkownika postgres zamiast 'password123':

ALTER USER postgres WITH PASSWORD ‘password123’

Utwórzmy tabelę testową:

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

Wypełnij ją danymi:

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

Gotowe, teraz sprawdź tabelę pod kątem danych za pomocą poniższego polecenia. Wynik jest przedstawiony na poniższym rysunku.

SELECT * FROM test;

Command output SELECT * FROM test;

Aby stworzyć aplikację na .NET 5.0, musimy zainstalować sam DotNet. Przejdź do strony ze szczegółową instalacją  i dokładnie przyjrzyj się wszystkim niezbędnym punktom. Dla wygodniejszej pracy możesz pobrać kod VS pod tym linkiem. Następnie pobierz pakiet deb i zainstaluj go na swoim komputerze.

Pobierz wtyczki C# i Nuget Gallery w kodzie VS. Ta ostatnia jest potrzebna do łatwego wyszukiwania i poprawnej instalacji pakietów nuget..

Tworzymy projekt w kodzie VS, w tym celu naciskamy ctrl + J, aby otworzyć konsolę wewnątrz kodu VS. Następnie wprowadź to polecenie:

dotnet new console

Po utworzeniu projektu musimy pobrać i zainstalować niezbędne biblioteki. Po wykonaniu poprzednich kroków należy otworzyć Galerię Nuget w projekcie testowym.

Otwarcie Galerii Nuget

Znajdź FastReport.Core i zainstaluj go. Pamiętaj, aby zaznaczyć pole obok Prerelease, ponieważ ten pakiet jest wersją demonstracyjną, w przeciwnym razie pakiet nie zostanie wyświetlony.

Szukam FastReport.Core w Nuget

Wspomniany wtyczka nie jest wersją demonstracyjną, więc nie trzeba zaznaczać pola Prerelease. Wystarczy w pasku wyszukiwania znaleźć FastReport.Data.Postgres i zainstalować ją w taki sam sposób jak poprzedni pakiet.

Szukam FastReport.Data.Postgres w Nuget

Po zainstalowaniu wszystkich niezbędnych komponentów otwieramy Program.cs w naszym projekcie i do metody main wklejamy następujący kod:

using System;
using FastReport;
using FastReport.Data;
using FastReport.Utils;
using FastReport.Export.Pdf;
 
static void Main(string[] args)
{
//Creating a connection to PostgreSQL
 
RegisteredObjects.AddConnection(typeof(PostgresDataConnection));
PostgresDataConnection connection = new PostgresDataConnection();
connection.ConnectionString = "Host=localhost;Username=postgres;Password=1234;Database=postgres";
connection.CreateAllTables();
 
//Creating a report and connecting the database and table to the report
 
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();
 
//Assigning DataBend to our table
 
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;
 
//Assigning values to a text object from a DB field
 
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");
 
}

Po czym skompilujmy i uruchommy nasz projekt. Wygeneruje on następujący plik raportu PDF:

Eksport raportu z testu w formacie PDF

Podsumowanie będzie naprawdę proste. Podłączenie bazy danych do aplikacji nie jest trudne, właśnie dzisiaj stworzyliśmy raport wykorzystujący dane z bazy PostgreSQL w dystrybucji Debian 10.

about product zamów
avatar
Marat Alaev
QA
Fast Reports Team: Marat Alaev - Quality Assurance at Fast Reports
.NET Visual Studio FastReport Linux Core SQL NuGet

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • FAQ
  • Tutorial Video
  • Forum
  • Support SLA
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2023 by Fast Reports Inc.

  • Poufność

Trustpilot