Got a database login problem in CR? Who doesn't, but here's a new one that happened to me recently.
My reports were originally bound to a proc in the database in our office. We were logging in to this database using SQL security at the time. The reports are distributed with a VB6 app and are configured at runtime to access our client's database on their network using SQL security.
Since the original design, the database in our office was moved to a different server. When I recently needed to modify the reports, I had to re-connect the reports to the new server, which I did via integrated security.
After sending the updated reports to the client, some of the people were receiving, "No rowset returned" error messages, but most people had no trouble. Remember that the app configures the reports with SQL security credentials and nowhere in the app is the database ever connected to via integrated security.
Well, after being stumped for a couple of weeks, I fired up SQL Profiler to see what the reports were actually sending to the database to cause the 'No Rowset' errors. The queries were correct, but I noticed that the LoginName was the user's domain name! Yes, for whatever reason, the reports were now connecting via integrated security! I never figured out how to explicitly tell CR what authentication method to use, but here's what I did: I opened the reports in CR designer, changed the driver from OLEDB to Native SQL and back again, forcing me to login to the database, which I did using SQL security. The reports now login to the database correctly.
And the helpful tip? Stay as far away from Crystal Reports as possible. There are too many other reporting tools on the market to have to tolerate such a horrible product as this.
My reports were originally bound to a proc in the database in our office. We were logging in to this database using SQL security at the time. The reports are distributed with a VB6 app and are configured at runtime to access our client's database on their network using SQL security.
Since the original design, the database in our office was moved to a different server. When I recently needed to modify the reports, I had to re-connect the reports to the new server, which I did via integrated security.
After sending the updated reports to the client, some of the people were receiving, "No rowset returned" error messages, but most people had no trouble. Remember that the app configures the reports with SQL security credentials and nowhere in the app is the database ever connected to via integrated security.
Well, after being stumped for a couple of weeks, I fired up SQL Profiler to see what the reports were actually sending to the database to cause the 'No Rowset' errors. The queries were correct, but I noticed that the LoginName was the user's domain name! Yes, for whatever reason, the reports were now connecting via integrated security! I never figured out how to explicitly tell CR what authentication method to use, but here's what I did: I opened the reports in CR designer, changed the driver from OLEDB to Native SQL and back again, forcing me to login to the database, which I did using SQL security. The reports now login to the database correctly.
And the helpful tip? Stay as far away from Crystal Reports as possible. There are too many other reporting tools on the market to have to tolerate such a horrible product as this.