Question

What can be done to resolve the exception:

CrystalDecisions.CrystalReports.Engine.InternalException: Failed to open a rowset.

Was it helpful?

Solution

This is a generic error in Crystal Reports whenever the report query fails. There can be a number of causes. If your report was targeted to a specific database and then the database was changed without updated the report, this can cause it. It can also be caused by something in the query itself failing, such as if the report is based on a stored procedure that doesn't exist on the database against which the report is running. Try verifying the database for the report.

OTHER TIPS

As said this is a generic error, and like all such errors it's a very frustrating one. The problem is that VS 2003 has no preview option for crystal reports so it's hard to track down the source of the problem. So best way to solve this is to create a blank project in vs 2005 or later, import the crystal report, and run preview. You will get a more specific error then.

I had the same issue, and received this error message:

One ore more fields could not be found in the result set. Use Verify Database to update the report. Error in File filename {9FEE6406-1613-409A-B9BD-C5FDA24E3DEE}.rpt:

The rowset column could not be found.

I was using a stored procedure to collect data for the report, and sure enough I was passing an invalid parameter for the SP. Double check the type and value of the parameters if you are using a SP to populate the report data.

Good luck!

I have also gone through same error with report having sub reports. Issue resolved as i switch to each sub report and make it verify again with database/tables/views.

This is caused by some discrepancy in your relations, like opposite left joins or something similar. CR has also the bad habit to create 'default' links each time you modify the list of tables and views needed for the report. It can even sometimes automatically create recursive links that might not be viewable 'at once' in the relations screen.

If you cannot find which relation(s) is causing the trouble (sometimes it is not so obvious), you'll have to make some trial & errors test by adding/removing tables from your report.

Every time you add a new table in crystal it adds its own links on already linked tables, some times it even links the 2 fields from the same table. Make sure you know your links in order to go through after you add a table and scroll all tables to see for any links create from to the same table

I received :

CrystalDecisions.CrystalReports.Engine.InternalException was unhandled Message=The Report Application Server failed

Google brought me here. For those that have similar problems.

For the record: I had a byte[] array with an image and removed the log from the report and the error stopped. I now have to figure out what I have done wrong with the logo.

I had this problem - we use SQL logins for our security (not integrated / DSN connections)

By granting execute permissions to the user for my stored procedure I fixed the problem.

Really, really couldn't hate Crystal more for their exception masking - let this be a lesson to all programmers;

Try
   'your code here
Catch
   Throw new exception("Hey, here's a really friendly but completely useless error message")
End Try

will result in pain for future developers - DON'T DO IT!

When you verify your database it might tell you that it is up to date, in that case you have two more options to check for:

a) Refreshing the report (a lightning-shaped icon), if you have a problem with a field, such as a SQL Field, it will give you the error and then show you the edit window for the field.

b) Running the query directly on SQL, if there is a problem with the query itself you will also get this message in Crystal but SQL will tell you exactly what went wrong.

Check Changing Crystal Report Database logon information at runtime in VS2005 for help.

Important line in it is:

table.Location = Database & ".dbo." & table.Name

For me, the problem was fixed when I logged of and logged back to the SQL server that the report was connecting to

In your store procedure If you are using

SET NOCOUNT ON;

Then just remove this

--SET NOCOUNT ON;

Now verify your report database, build & run your solution.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top