Home End User

ReportBuilder End-User with dbExpress/MySQL

edited October 2010 in End User
?Hello,

Does anyone have a working sample of the Report Explorer working with
MySQL using dbExpress? I have failed to get a working setup despite all
attempts :-(

Details:
ReportBuilder 11.06 Enterprise
MySQL 5.1.30
Delphi 2010

MySQL Tables:

CREATE TABLE `sm_custom_reports_folders` (
`SCRF_ID` int(11) NOT NULL AUTO_INCREMENT,
`SCRF_NAME` varchar(100) DEFAULT NULL,
`SCRF_PARENT_ID` int(11) DEFAULT NULL,
PRIMARY KEY (`SCRF_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

CREATE TABLE `sm_custom_reports_items` (
`SCRI_ID` int(11) NOT NULL AUTO_INCREMENT,
`SCRI_SCRF_ID` int(11) DEFAULT NULL,
`SCRI_NAME` varchar(100) DEFAULT NULL,
`SCRI_SIZE` int(11) DEFAULT NULL,
`SCRI_TYPE` int(11) DEFAULT NULL,
`SCRI_MODIFIED` float DEFAULT NULL,
`SCRI_DELETED` float DEFAULT NULL,
`SCRI_TEMPLATE` blob,
PRIMARY KEY (`SCRI_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

(*initially had additional fields in the two tables - CREATED_BY,
CREATE_TIME etc but removed them to ensure compliance with the recommended
templates as per the RB Developer Guide*)

Delphi Setup:

For each table, I have a TSQLDataset > TDataSetProvider > TClientDataSet >
TDataSource > TppDBPipeline. Then a TppReport, TppDesigner and finally a
TppReportExplorer.

All the properties are set and indeed when I run the app, I'm able to
invoke the ReportExplorer. However, when I attempt to create a new Folder,
I get the following error:
---------------------------
Project project.exe raised exception class EDatabaseError with message
'Field 'SCRF_ID' must have a value'.
---------------------------

I've tried all kinds of things on the database side to no avail.

Please help!

Ronald Sebuhinja (sebsronnie at gmail.com)

Sebsie

--- posted by geoForum on http://www.newswhat.com

Comments

  • edited October 2010
    Hi Sebsie,

    The ReportExplorer relies on the database to automatically generate a unique
    ID for each folder/item created. See the TppReportExplorer.AddFolder
    routine for how a new folder is added. The first time the call is made to
    Insert, a new ID is expected to be auto-generated.

    You might test with your MySQL tables outside of ReportBuilder to see if the
    ID is being created. For some DB's, it is required to create a trigger to
    update this value automatically.


    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.