DSNs are very helpful things. I can configure a DSN to point to a development database, and when I'm finished developing, just reconfigure it to point to a production database and I'm done. No need to make any changes to my program or its configuration.
But if I create a Crystal Reports XI report using an ODBC connection and specify a particular DSN, CR looks into the DSN to find the name of the current database, and uses that name in its queries. If I change the database the DSN points to, the report will use the old database. For example, I have a DSN named "WinCaps" that pointed to a database named "Anneal". I created a report and supplied a connection string like "DSN=WinCaps;user=caps;passwd=xyz" (syntax may not be perfect). I was then prompted for a host name, user name and password, all of which were provided in the DSN and should not have been necessary. I saved the report and closed it, and then changed the DSN to point to a database named "Worthington HS Control". I reopened the report and selected "Show SQL Query". I saw that the query was selecting data from the Anneal database. Is there any way to change this behavior? Does the latest version of CR behave the same way?