I have a Crystal Report that queries a 64 bit SQL Server 2012 database. The data source is a stored procedure with one parameter. The procedures's code takes the parameter and sets it to a local variable to avoid the issues encountered when directly using parameter variables. The report has one subreport which uses the same data source as the main report. I pass the parameter to the subreport via the subreport links. The report uses an OLE DB (ADO) database type and the SQLOLEDB provider.
In version 9 the report runs for around 20 minutes, then comes back with a Verify Database message box saying that "The database file "[procedure name]" has changed. Proceeding to fix up the report!" Then the Map Fields window opens, and none of the procedure's fields are available. I just click Next, go through the formula errors and what-not, and then the report renders but there are no fields in the subreport.
The exact same report with no changes, run in version 10, renders instantly. If I remove the subreport or change the Provider to SQL Native Client 11 the report renders instantly in version 9.
This report needs to be used in an existing VB6 application so I must use OLE DB and have to get it to render in version 9.
Anyone have any ideas on why it's not working on version 9 using OLE DB?