Home End User
New Blog Posts: Merging Reports - Part 1 and Part 2

Change Database Engine for reports?

Hi Team,
Looking to change the database engine for a major project. There are roughly 100+ reports in the 'End User' Reporter database.
Is there any convenient means to move reports from one engine to another aside from exporting each report to a rtm file, then editing the daEngine details, then loading the rtm into the new engine 'End User' Reporter?
Regards & TIA,
Ian

Comments

  • Hi Ian,

    The solution is to write conversion code to iterate over the rbItems table and convert each report.

    For each report template

    - read template data

    - convert to text

    - use StringReplace to apply each change

    - convert template text to binary

    - save template data

    This rbWiki example includes details and links to download code. The article discusses BDE to ADO conversion, but the concepts apply to any conversion

    http://rbwiki.digital-metaphors.com/dade/fundamentals-dade/convert-template-bde-to-ado/



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • Thanks Nard,
    {rant on} I HATE Forums! Bring back the NGs.. {rant off}
    OK. I exported a test report to .rtm, edited the daADS to daDBISAM, then loaded the .rtm into the DBISAM End-User app.
    The report format showed up perfectly, however, when I went to preview the report I got an error.
    "DBISAM Engine Error # 11010 Table or backup file 'Appointments' does not exist."
    Hmmm. Tried various things to no avail. Then I added the Appointments table to the query again, leaving the original, got the linking bit, Ok'd it, the Previewed. All good. removed the second Appointments table and previewed, again all good. Saved the report and now it is working fine.
    Don't really want to put my Customers through all that as they move from one db to another.:-(
    Thoughts/suggestions appreciated.
    Regards & TIA,
    Ian
    P.S. How does one attach a picture to the post? I tried the 'Image' icon above but it wanted a URL. The image is on my PC.
  • Hmm. Inadvertently started a post. How do i delete thi please?
  • Hi Team,
    OK. Found the issue. Seems not only does the DataPipeline = 'daxxxxQuery....' parameter have to be changed, but also the parameters for DatabaseName & DatabaseType.
    Additionally, there will usually be multiple instances of each parameter to be changed in the .rtm file.
    All good now.
    Regards,
    Ian
  • Hi Ian,

    Correct, any error indicates additional properties need to be converted. I recommend using a file comparison tool to compare a new working template to an unconverted or partially converted template. If you have queries that use calc field expressions, those will likely need to be converted as well.

    To post an image provide a URL. Google 'free image hosting' if needed, or if you have a web site you can host them there and provide a URL.

    To delete or edit your post, click the gear icon, just to the right of the post date that appears above your message. To customize your profile, click the gear icon that appears to the far right of the toolbar at the top of the browser. You can setup notifications, define a signature, etc. There are many nice features.

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • Hi Team,
    So, thinking all was good I 'converted' a number of reports.
    Didn't work in the DBISAM End User. :-(
    So I modified the Convert template example which I had successfully used to convert the ADS templates, to view the DBISAM templates using exactly the same components from the DBISAM End User app.
    No Good. So, I emptied out all the DBISAM rbXXXXX.dat files and re-ran the DBISAM end-user app, creating a new test report.
    Loads and works and previews fine in the End User app. :-)
    Going back to the Viewer, I get a 'Stream read error.' as soon as I start the app.
    Selecting OK the App continues to the screen showing the report's 'Test Report' title but no Template info.
    Doing some sleuthing I found it is breaking at..
    {code}
    { convert the binary stream to text }
    ObjectBinaryToText(lBinaryStream, lTextStream);
    {code}
    in the the LoadTemplate procedure. :-(
    Thoughts/suggestions appreciated.
    Regards & TIA,
    Ian
  • Progress.. Found I had two different versions of daDBISAM on my system. :-( Not any more. :-)
    Current status:
    1. I can open, modify and save ADS reports to the ADS rbItem table using the convert utility mentoned in previous posts.
    2. I can create and use reports with the DBISAM end user App.
    3. I can view the DBISAM rbItem templates with my 'Reader', a modified version of the aforementioned converter.
    4. When I copy the blob data from the ads rbItem to the DBISAM rbItem, the DBISAM EU App tells me I have an 'Invalid Template Format'. :-(
    I don't believe this is a RB issue, more compatibility between ADS & DBISAM Blob fields. :-(
    5. If I export a report template from the ADS App, manually edit the three types of items in the .rtm, I can then load the .rtm file into a new report in the DBISAM app and it works fine. :-)

    I continue to work the issue.
    Hate these late nights & early mornings.....
    Regards,
    Ian
Sign In or Register to comment.