| Провайдеры данных для Report Workshop | |
Источники данных для отчётов
Провайдеры данных – это набор компонентов, заполняющих отчёты содержимым. Такой компонент обрабатывает строки-запросы и в ответ выдаёт данные, которые будут использованы для построения отчёта. Этот процесс прозрачен для пользователей и программистов: надо просто связать компонент TRVReportGenerator с компонентом-провайдером данных, присвоить свойства, указывающие источник данных, и всё будет работать автоматически.
Большинство из компонентов-провайдеров данных выполняют следующие типы запросов:
- имя таблицы базы данных
- оператор SQL select
- запрос «field» (ссылка на поле типа TDataSetField)
Однако запросы могут быть и другими. Например, провайдер данных MongoDB обрабатывает запросы JSON вместо SQL.
Report Workshop включает провайдеры данных, перечисленные ниже. Они не требуют дополнительной установки: инсталлятор устанавливает их в среду Delphi, если требуемые компоненты уже установлены.
Провайдеры данных на основе стандартных компонентов Delphi |
Компонент |
Данные |
Требуется |
TRVReportFDDataProvider |
Различные базы данных |
FireDAC |
TRVReportFDMongoDataProvider |
Базы данных Mongo (MongoDB) |
FireDAC (Delphi 10+) |
TRVReportIBDataProvider |
Базы данных InterBase и Firebird |
Interbase Express |
TRVReportADODataProvider |
Данные из различных источников посредством ADO (ActiveX Data Objects) |
dbGo |
TRVReportDBXDataProvider |
Различные базы данных посредством драйверов dbExpress, включая Oracle, Firebird, InterBase, DB2, Informix, SQL Server, MySQL и ODBC |
dbExpress |
TRVReportBDEDataProvider |
Различные базы данных посредством BDE (Borland Database Engine), включая Paradox, dBASE, FoxPro, Access, ODBC |
BDE |
Провайдеры данных на основе стандартных компонентов Lazarus |
Компонент |
Данные |
Требуется |
TRVReportSQLDataProvider |
Различные базы данных с SQL (включая Firebird, Microsoft SQL Server, Sybase ASE, MySQL) |
Компоненты SQLdb |
TRVReportDbfDataProvider |
Таблицы DBF |
TDbf |
Провайдеры данных на основе компонентов других разработчиков |
Компонент |
Данные |
Требуется |
TRVReportAbsDataProvider |
Базы данных Absolute |
AbsoluteDB |
TRVReportDBISAMDataProvider |
Базы данных DBISAM |
DBISAM |
TRVReportDxMemDataProvider |
TdxMemData datasets |
DevExpress VCL |
TRVReportEDBDataProvider |
Базы данных Elevate |
ElevateDB |
TRVReportNXDataProvider |
Базы данных Nexus |
NexusDB |
TRVReportPSQLDataProvider |
Базы данных PostgreSQL |
PostgresDAC от MicroOLAP |
TRVReportMySQLDataProvider |
Базы данных MySQL |
DAC for MySQL от MicroOLAP |
TRVReportUniDataProvider |
Различные базы данных, включая Oracle, Microsoft SQL Server, MySQL, InterBase, Firebird, PostgreSQL, SQLite, DB2, Microsoft Access, SAP Sybase Advantage Database Server, SAP Sybase Adaptive Server Enterprise, ODBC |
UniDAC от DevArt |
TRVReportIBCDataProvider |
Базы даных InterBase и Firebird |
IBDAC от DevArt |
TRVReportMyDataProvider |
Базы даных MySQL |
MyDAC от DevArt |
TRVReportPgDataProvider |
Базы даных PostgreSQL |
PgDAC от DevArt |
TRVReportIBODataProvider |
Базы даных InterBase и Firebird |
IBObjects |
TRVReportZEOSDSDataProvider |
Различные базы данных, включая MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle and SQLite |
ZEOS Library |
Если вы хотите использовать другой набор компонентов для доступа к базам данных, свяжитесь с нами, и мы создадим провайдер данных для него.
Кроме того, Report Workshop включает универсальный БД-провайдер, в котором возможно:
- в событиях создавать компоненты dataset для обработки запросов
- создать коллекцию компонентов dataset (возможно, уже связанные отношениями «главный/подчиненный» («master/detail»)) и ссылаться на них из отчётов по названиям
TRVReportDBDataProvider – универсальный компонент БД-провайдер.
ReportWorkshop включает ещё один универсальный компонент:
TRVReportBindSourceDataProvider – провайдер данных LiveBindings.
Стандартные обработчики запросов
Помимо назначения провайдера данных, приложения могут реализовывать обработчики для строк запросов специального синтаксиса.
Report Workshop включает пример обработчика, работающего с запросами вида «calendar:days of month 1 of 2016» (запрос дней первого месяца 2016 года).
|