Crystal Reports is a database-driven reporting application included with Microsoft's Visual Studio development software package. "Failed to Open a Rowset" is a common error generated by Crystal Reports upon failure of a report query. The error occurs when the SQL query the report is based on cannot execute properly. The error "Failed to Open a Rowset" is used generically by Crystal Reports to represent any SQL query error.
Review any changes you have made to the database your report is generated from, such as changes to the database name or tables added to the database. If the database name has changed, change the Location attribute for your report to reflect the database's new name. Adding a table may cause new links to be created automatically. The new links may alter the structure of your tables or database and cause your query to fail.
Compare the tables included in the report to the the tables referenced in your SQL query. If the query or an ad hoc query references a table that is not included in the report, the SQL query will be unable to execute and Crystal Reports will throw the "Failed to Open a Rowset" error.
Review the stored procedures used by the report you are attempting to generate. The user running the report must have the permissions necessary to execute all stored procedures used to compose the report. Correct the permissions if necessary and attempt to run your report again.
Check the ODBC properties and settings for your report. Ensure that your are using ANSI nulls and ANSI quoted identifiers. Also make sure that the "Use DSN Default Properties" setting is set to false.
Open your SQL command line or the query analyzer in Visual Studio or your alternate .NET development program. Attempt to run the query your report is based on directly in SQL. The error thrown by your SQL database may contain more specific information that can lead you to the source of the Crystal Reports error.