Skip to Content
0
Former Member
Oct 05, 2011 at 08:36 AM

Changing databases from MS SQL Express to MySQL in a Report at runtime

56 Views

Hi all,

I have an issue in changing databases from MS SQL Express to MYSQL or vice versa in a Report at runtime.

Here is what I do:

I create a very simple report with the Crystal Report Designer 2008 V 12.3.0.601.

This report uses a stored procedure to retrieve it's data. I connect to the Database with JDBC.

I have two Databases with similar schema and procedures: MS SQL Express an MySQL.

When I create the report with MSSQL all parameters have the '@' character, as they are named. ok.

I deploy this report in a JSP application with the crystaldecisions SDK an show it in html viewer format.

The connection to the MSSQL DB gets established by my JSP and the CRJavaHelper.

I pass the parameters through my URL to the JSP and finally to the CRJavaHelper (addDiscreteParameterValue)

and everything works fine.

The challenge starts, when I try to change the Datasource of this report to MySQL at runtime (which is a requirement in my project).

I successfully can establish the DBConnection, but my stored procedure just doesn't get called!

The report just displays totally empty, no Exceptions etc. are thrown. In the DB logfile I see the effort to find my procedure

and that's all. The Statements called by the SDK finds the correct Procedure, but there's no call to the procedure.

Of course I know, that MS SQL names it's procedures slightly different (';1' at the end), but even when I rename the table Alias to the correct name in CRHelperJava, I get no call to the procedure in MySQL. I also renamed the parameter-fields in changeDataSource(..) by casting the table to IProcedure and working on its methods. Still no success.

What am I missing to do or what do I do wrong?

Any suggestions or even solutions?

Best Regards,

Tom