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 126.96.36.1991.
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?