Link to home
Start Free TrialLog in
Avatar of coperations07
coperations07Flag for United States of America

asked on

Database Login box when running Crystal Report

Hi,
I'm using Crystal Reports with Visual Studio 2010 and SQL Server 2008r2.

The app I'm developing allows users to select criteria and view reports in a report viewer control.  All reports work fine on my machine (of course). When I deploy using click once, to users some of the reports pop up a database login box. Some do and some don't which is perplexing.  The reports that pop up the login box are very similar to those that work fine.  The reports use stored procedures and I have granted the users connect and execute rights to the database.  
These same users use a different app that is set up almost identically and connects to the same server, but a different database and there is no prob with any of those reports.

What can I try here?
Thanks,
Dave
Avatar of Mike McCracken
Mike McCracken

Did you give execute rights to the stored procedures?

Do all reports use the same database connection?

Are these run from a web server or is the application on the client?

mlmcc
Avatar of coperations07

ASKER

Yes to execute rights.

Yes same connection.

It is a winform application on the client.

When the login box pops up it shows the server but the database textbox is blank and not enabled for entry. Also the integrated security checkbox is not checked.
INtegrated security is controlled through the report.  Check the database connection in the report.

mlmcc
The report properties show the correct server and db and the integrated security is set to true.
Are you connecting through ODBC?

mlmcc
Its using OLEDB(ADO) and provider SQLNCLI10. I have the connect set in the crystal report and the app just opens it up like this:

ReportDocument rpt = new ReportDocument();
string sRptName = lstReportingReports.GetItemText(lstReportingReports.SelectedItem);
            //load the selected report.
rpt.Load(Properties.Settings.Default.setRptPath + sRptName + ".rpt");
..............pass parameters............
crvRReports.ReportSource = rpt;
crvRReports.Refresh();

Open in new window


***EDIT...sorry missed the load line.
Try taking the refresh out.  It tends to throw away any changes you made to the parameters and logins.

Also SQLCLI10 is a MS access method.  I don't think it is ADO.

mlmcc
I attached a copy of what the report's datasource properties show.  I took the refresh out, but I'm still waiting to hear back from the user whether it worked or not.
Datasource.doc
Taking the refresh out didn't do it.  Still getting the login box.
So I'm thinking either security issue or reference issue.  Security because it works on mine but not theirs. Reference because I had to add several references to the project to get the clickonce install to work. Is there anything else I should be looking in to?
I don't think so.  I assume this is a fat-client application and not web-based?

mlmcc
Right its a fat-client.

I logged in to a user pc as myself and tried to run the reports. I get the same database logon message when I'm logged in on theirs. When I run from my pc the msg doesn't pop up.
How do you connect to the database?
If you are using ODBC the ODBC connection must be added to the machine using the same name.

mlmcc
OLEDB with integrated security
I assume the PCs are in the same domain.

mlmcc
Yes they are in the same domain.

The rpt files are stored in a network folder where the app can access them. I upped the user security to include modify, but that didn't help.
I assume the login prompt is for the database and not the shared file system.

Have you tried changing the data source location?
Create a new OLE DB connection to the same database and change the report to use it.

mlmcc
The prompt is for the database. It shows the server name but the database box is empty and it is not enabled for entry.

I'll try changing out the connection and see if that might do the trick. Thanks
If they add appropriate credentials (userid and password) does it work?

mlmcc
No. The id and pass can be entered but the database box is empty and not enabled.
ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Right the id/pass entry does not run.

I think you may be on to something with the sql client. It is not installed on user machine. I changed the provider to SQLOLEDB on a quick test report and it opened on the user machine. I'm going to try to change the provider of an existing report and see if it works... Is there a benefit to using one provider over the other?

Thanks,
David
Only if one requires a costly license per user.

mlmcc
Looks like this has got me going. Thanks for the help mlmcc!