Crystal Reports 64-bit Data Sources Explained

With the release of Flex2Crystal 4.0 there is a new wrinkle introduced that could cause some difficulty when using certain 32-bit data sources against a 64-bit version of your application. There are a few ways this might occur as we’ll outline below, but the rule that must be followed is that a report must use a 64-bit capable data source if it will be called from a 64-bit application.

Most of the time this won’t be a problem for a couple of reasons. First, when using a 64-bit version of Windows along with the 64-bit version of the ODBC Manager, when you create a new DSN it’s highly likely that the DSN used will support both 32-bit and 64-bit data sources. Secondly, when using MSOLEDB or SQLNCLI based data sources, the Microsoft drivers automatically install both a 64-bit and a 32-bit version. The correct one will be used automatically as the DLL names are the same and Crystal will find the version with the proper bitness. Where either of these are not the case you can run into problems as outlined below:

Problematic Data Sources

  1. Microsoft OLE DB Provider for Microsoft Jet This is a driver to allow Crystal to connect to MS Access. This driver is 32-bit only. If you have a Crystal Report using this as a data source, you will not be able to run this report against a 64-bit version of your application. Alternatively you can use the ACE OLEDB Provider from Microsoft. You will need to modify your reports to use this driver.

  2. File DSN created agains a 32-bit version of Windows If you have file based DSNs that are copied over with your application installation and those DSNs were created on a 32-bit version of Windows, they MIGHT not work against your 64-bit application. If the driver they are referencing is 32-bit only, then it won’t work. To fix this situation, you will need to modify the report to access a 64-bit version of the DSN.

  3. 32-bit ODBC drivers Some ODBC drivers are truly 32-bit only. There is no 64-bit equivalent. If you use Crystal along with these drivers and there are no alternatives from other vendors, then you will not be able to use 64-bit Dataflex with these reports.

  4. Wrong Oracle Client When using a Crystal report against an Oracle database, you must match the bitness of the application calling that Crystal report. No modifications are required to the reports. Once you’ve setup the 64-bit Oracle Client, your reports should once again work.