Co to jest format pliku RDL?
Pliki .rdl to pliki Report Definition Language używane przez Microsoft SQL Server Reporting Services (SSRS) do definiowania kompletnego układu, źródeł danych, zapytań i formatowania raportu stronicowanego. Format ten to czysty XML, co sprawia, że pliki .rdl są czytelne dla człowieka i edytowalne w dowolnym edytorze tekstowym.
Główny element <Report> zawiera adres URL przestrzeni nazw xmlns, który koduje wersję schematu RDL: typowe wartości to 2005/01, 2008/01, 2010/01 oraz 2016/01 (aktualna, używana z SQL Server od 2016 do 2022). Pozwala to SSRS wykryć zestaw funkcji, dla których raport został zaprojektowany.
Wewnątrz pliku .rdl elementy <DataSources> i <DataSets> definiują połączenia z bazami danych i zapytania - zazwyczaj T-SQL dla SQL Server, choć SSRS obsługuje również Oracle, OData i innych dostawców. Element <Body> zawiera <ReportItems>: siatki Tablix, wykresy, pola tekstowe, obrazy i odwołania do podraportów. Element <Page> kontroluje rozmiar papieru, marginesy i orientację dla wyrenderowanego wyjścia.
Raporty są tworzone w Microsoft Report Builder (bezpłatne samodzielne narzędzie) lub w Visual Studio za pośrednictwem SQL Server Data Tools (SSDT). Portal internetowy SSRS renderuje raporty do formatów PDF, Excel, Word, CSV i innych na żądanie lub zgodnie z harmonogramem.
Powiązane rozszerzenie, .rdlc, to wariant kliencki używany w projektach Windows Forms i ASP.NET, gdzie wiązanie danych jest obsługiwane w kodzie aplikacji, a nie deklarowane wewnątrz pliku raportu. Power BI Report Server hostuje raporty .rdl obok plików .pbix Power BI na ujednoliconej platformie lokalnej.
Bezpieczeństwo
RYZYKO: LOWRDL to tekst XML; nie zawiera bezpośrednio osadzonego kodu wykonywalnego. Jednak plik RDL może zawierać parametry połączenia z zapisanymi poświadczeniami lub odwoływać się do złośliwych źródeł danych - należy przejrzeć DataSources przed uruchomieniem raportu z nieznanego serwera.
Szczegóły formatu
w pigułce- Corel Paradox Report Definition - Archiwalne pliki .rdl z aplikacji bazodanowej Corel Paradox (wycofanej); niepowiązane z SSRS.
Programy otwierające pliki RDL
Szczegóły techniczne
specyfikacja| Format bazowy | XML (tekst UTF-8); brak komponentów binarnych; czytelny i edytowalny w dowolnym edytorze tekstu |
| Wersjonowanie schematu | URI przestrzeni nazw xmlns w głównym elemencie `<Report>`: .../2005/01, 2008/01, 2010/01, 2016/01 (aktualny) |
| Aktualna przestrzeń nazw | `http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition` |
| Deklaracja danych | `<DataSources>` i `<DataSets>` definiują połączenia (T-SQL, Oracle, OData i inne) oraz zapytania |
| Elementy układu | Tablix (tabele, macierze, listy), Wykres, Pole tekstowe, Obraz, Prostokąt, Podraport - zagnieżdżone wewnątrz `<Body>` |
| Model strony | Element `<Page>` kontroluje rozmiar papieru, marginesy i orientację dla wyjścia stronicowanego |
| Parametry | Sekcja `<ReportParameters>` definiuje pola wprowadzania danych przez użytkownika wraz z typami danych, wartościami domyślnymi i tekstem zachęty |
| Typowy rozmiar pliku | 10 KB - 5 MB; rośnie znacząco, gdy raporty zawierają osadzone obrazy zakodowane w base64 |
| Wyjście renderowania | Serwer renderuje do PDF, Excel, Word, CSV, XML, HTML, TIFF za pomocą rozszerzeń renderujących SSRS |
| Narzędzia autorskie | Microsoft Report Builder (bezpłatny), Visual Studio z SSDT, Power BI Report Builder |
| Powiązany format | `.rdlc` - wariant po stronie klienta, w którym wiązanie danych odbywa się w kodzie aplikacji, a nie w pliku |
| Platformy hostingowe | SSRS na Windows; SSRS 2017+ na Linux; Power BI Report Server |
| Wydano | 2004 (SQL Server 2000 Reporting Services SP1; RDL formalized with SSRS 2000/2005) |
| Najnowsza wersja | RDL schema 2016 (SQL Server 2016/2017/2019/2022; namespace http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | learn.microsoft.com |
Konwersje RDL
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki RDL.