Los componentes de proveedores de datos suministran los datos para los informes. Un componente proveedor de datos procesa consultas de datos y devuelve datos. Este proceso es transparente para los usuarios y programadores: basta con enlazar el componente TRVReportGenerator a un componente de proveedor de datos, asignar propiedades especificando la fuente de datos, y todo funciona automáticamente.
La mayoría de los componentes de proveedores de datos existentes procesan los siguientes tipos de consultas de datos:
nombres de tablas
Instrucciones SQL SELECT
Consulta “field:” (una referencia a TDataSetField)
Pero las consultas de datos pueden ser diferentes, por ejemplo el proveedor de datos MongoDB procesa consultas JSON en lugar de SQL.
Report Workshop incluye los siguientes componentes de proveedor de datos. Funcionan “de forma inmediata”: el programa de instalación los instala si ya están instalados los componentes de DB correspondientes.
Proveedores de datos basados en los componentes estándar de Delphi
Componente
Datos
Requiere
TRVReportFDDataProvider
Múltiples bases de datos
FireDAC
TRVReportFDMongoDataProvider
Bases de datos de Mongo (MongoDB)
FireDAC (Delphi 10+)
TRVReportIBDataProvider
Bases de datos InterBase y Firebird
Interbase Express
TRVReportADODataProvider
Acceso a múltiples almacenes de datos a través de ADO (ActiveX Data Objects)
dbGo
TRVReportDBXDataProvider
Múltiples bases de datos a través de controladores dbExpress, incluidos Oracle, Firebird, InterBase, DB2, Informix, SQL Server, MySQL y ODBC
dbExpress
TRVReportBDEDataProvider
Acceso a múltiples bases de datos a través de BDE (motor de base de datos de Borland), incluido Paradox, dBASE, FoxPro, Access, ODBC
BDE
Proveedores de datos basados en los componentes estándar de Lazarus
Componente
Datos
Requiere
TRVReportSQLDataProvider
Múltiples bases de datos SQL (Firebird, Microsoft SQL Server, Sybase ASE, MySQL)
Componentes SQLdb
TRVReportDbfDataProvider
Tablas DBF
TDbf
Proveedores de datos que requieren componentes de terceros
Componente
Datos
Requiere
TRVReportAbsDataProvider
Bases de datos Absolute
AbsoluteDB
TRVReportDBISAMDataProvider
Bases de datos DBISAM
DBISAM
TRVReportDxMemDataProvider
TdxMemData datasets
DevExpress VCL
TRVReportEDBDataProvider
Bases de datos Elevate
ElevateDB
TRVReportNXDataProvider
Bases de datos Nexus
NexusDB
TRVReportPSQLDataProvider
Bases de datos PostgreSQL
PostgresDAC de MicroOLAP
TRVReportMySQLDataProvider
Bases de datos MySQL
DAC de MicroOLAP para MySQL
TRVReportUniDataProvider
Múltiples bases de datos, incluidas Oracle, Microsoft SQL Server, MySQL, InterBase, Firebird, PostgreSQL, SQLite, DB2, Microsoft Access, SAP Sybase Advantage Database Server, SAP Sybase Adaptive Server Enterprise, ODBC
UniDAC de DevArt
TRVReportIBCDataProvider
Bases de datos InterBase y Firebird
IBDAC de DevArt
TRVReportMyDataProvider
Bases de datos MySQL
MyDAC de DevArt
TRVReportPgDataProvider
Bases de datos PostgreSQL
PgDAC de DevArt
TRVReportIBODataProvider
Bases de datos InterBase y Firebird
IBObjects
TRVReportZEOSDSDataProvider
Múltiples bases de datos, incluidas MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle, SQLite
ZEOS Library
Si desea utilizar otros conjuntos de componentes de DB, póngase en contacto con nosotros y podemos crear un proveedor de datos para ellos. Además, puede utilizar el proveedor de datos universal, donde usted puede:
proporcionar un componente de conjunto de datos en un evento
crear una colección de componentes de conjunto de datos (puede estar ya con relaciones maestro/detalle) y referirse a ellos por nombres
TRVReportDBDataProvider – un proveedor de datos de base de datos universal
ReportWorkshop incluye otro componente de proveedor de datos universal que usa LiveBindings en lugar de DataSets:
TRVReportBindSourceDataProvider.
Procesadores de consultas estándar
Además de asignar un componente de proveedor de datos, las aplicaciones pueden implementar un procesamiento especial para diferentes tipos de consultas de datos.
Report Workshop incluye un procesador de muestra, que maneja consultas como “calendar:days of month 1 of 2016” (“calendario:días del mes 1 de 2016”)