Data provider components supply data for reports. A data provider component processes data queries and returns data.
This process is transparent for users and programmers: just link TRVReportGenerator component to a data provider component, assign properties specifying the source of data, and everything works automatically.
Most of existing data provider components process the following types of data queries:
table names
SQL select statements
“field:” query (a reference to TDataSetField)
But data queries may be different, for example the MongoDB data provider processes JSON queries instead of SQL.
Report Workshop includes the data provider components listed below. They work “out of the box”: the Setup installs them if the corresponding DB components are already installed.
Data providers based on the standard Delphi components
Component
Data
Requires
TRVReportFDDataProvider
Multiple databases
FireDAC
TRVReportFDMongoDataProvider
Mongo databases (MongoDB)
FireDAC (Delphi 10+)
TRVReportIBDataProvider
InterBase and Firebird databases
Interbase Express
TRVReportADODataProvider
Multiple data stores accessed via ADO (ActiveX Data Objects)
dbGo
TRVReportDBXDataProvider
Multiple databases via dbExpress drivers, including Oracle, Firebird, InterBase, DB2, Informix, SQL Server, MySQL and ODBC
dbExpress
TRVReportBDEDataProvider
Multiple databases accessed via BDE (Borland Database Engine), including Paradox, dBASE, FoxPro, Access, ODBC
BDE
Data providers based on the standard Lazarus components
Multiple databases, including Oracle, Microsoft SQL Server, MySQL, InterBase, Firebird, PostgreSQL, SQLite, DB2, Microsoft Access, SAP Sybase Advantage Database Server, SAP Sybase Adaptive Server Enterprise, ODBC
DevArt's UniDAC
TRVReportIBCDataProvider
InterBase and Firebird databases
DevArt's IBDAC
TRVReportMyDataProvider
MySQL databases
DevArt's MyDAC
TRVReportPgDataProvider
PostgreSQL databases
DevArt's PgDAC
TRVReportIBODataProvider
InterBase and Firebird databases
IBObjects
TRVReportZEOSDSDataProvider
Multiple databases, including MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle and SQLite
ZEOS Library
If you want using other set of DB components, contact us and we may create a data provider for them. Additionally, you can use our universal data provider, where you can:
provide a dataset component in an event
create a collection of dataset components (may be already with master/detail relations) and refer to them by names
TRVReportDBDataProvider – a univeral database data provider.
ReportWorkshop includes another universal data provider component that uses LiveBindings instead of DataSets:
TRVReportBindSourceDataProvider – a LiveBindings data provider.
Standard Query Processors
In addition to assigning a data provider component, applications may implement special processing for different kinds of data queries.
Report Workshop includes a sample processor, handling queries like “calendar:days of month 1 of 2016”