Thank you for your responses. To Peter, the reports in question are 8.5. I downloaded the utility and it almost got me there. Here's a snapshot of the table info before/after for a report I ran update8x on to change the database name:
Before:
Table: S105V15M.PKPRD29SPD.ERRRPT
Server Type: ODBC - BURNS_PKPRD29MAD
Server Name: BURNS_PKPRD29MAD
Database: S105V15M
User ID: XXXXXXXX
After:
Table: S105V15M.PKPRD29SPD.ERRRPT
Server Type: ODBC - BURNS_PKPRD29MAD
Server Name: BURNS_PKPRD29MAD
Database: A105V15M
User ID: XXXXXXXX
So as you can see, it did change the database name from S105V15M to A105V15M in one place, however it did not change the prefix on the fully qualified table name. Unfortunately, when I ran the report, it still looked for the table in the database S105V15M. If update8x also changed the table prefix, then I think I'd be home free.
Dave, any suggestions on where to look for code samples to get me on the right path? So does your VB program actually modify and save the report with new table specs? I looked at tunde's sample in an earlier post but that wouldn't help. Our reports are being run from CE 8 as unmanaged reports.
To dgillz, I have looked at the DSN setup for these reports (the DSNs, 15 of them, are using IBM Client Access ODBC driver for DB2/iSeries). Nowhere is the database name referenced. Apparently when we initially specified the tables for these reports, Crystal picked up the database name somehow from the server and prepended it to the library/table name.
If you're not familiar with AS/400-iSeries parlance, the info you see in the table field above, S105V15M.PKPRD29SPD.ERRRPT, can be broken down as follows:
- S105V15M is the remote database name as assigned by the AS/400 operating system (just a name really, used by DRDA and apparently ODBC)
- PKPRD29SPD is the library name (a library is a collection of tables)
- ERRRPT is the physical table name (can be a view or logical file as well)
Through the DSN, I set the default library list, which in this case is one library, PKPRD29SPD. Through Crystal Reports, I choose the table I want to write the report against, in this case ERRRPT (or use Set Location). The database name, however, just comes along with the table name. I don't select it or otherwise set it in the first place.
We're looking at the other side of the equation now, possibly changing the database name on the AS/400. I haven't given up on finding a way to edit the reports, it's just not looking hopeful.
Thanks,
--Bearden