Hi all,
I am using CR2008 v12.0.0.683 with VS2008 v9.0.21022.8 RTM.
Crystal Reports 2008 for Visual Studio. Windows XP SP3.
I am developing a Web application that uses a PervasiveSQL v10.01 database.
I have used exactly the same code used in the sample provided for Visual Studio:
CS_Web_RDObjMod_DBLogon
Unfortunately, right after the execution of table.ApplyLogOnInfo(tableLogOnInfo), the values of the TableLogOnInfo go back to the values stored on the original report, and worst of all, I got the error:
"Failed to open the connection"
The report I am currently using is a very simple one I have just created to simplify the problem. It lists just one table without any subreports or parameters. The table listed exists in both databases I want to test, the original set on the report and the one I want the report to collect the information from.
Any idea about why the method ApplyLogOnInfo is not working?
protected void Page_Load(object sender, EventArgs e)
{
string reportName = Request.QueryString\"reportName\";
string reportPath = ConfigurationManager.AppSettings.Get("CrystalReportsDefaultFolder") + reportName;
ReportDocument crDocument = new ReportDocument();
crDocument.Load(reportPath);
string dbuser = "dbuser";
string dbpass = "dbPass";
string dbserver = "dbserver";
string dbname = "dbname";
setConnectionDatabaseString(crDocument, dbserver, dbname, dbuser, dbpass);
crystalReportViewer.ReportSource = crDocument;
}
public void setConnectionDatabaseString(ReportDocument document, string server, string database, string user, string password)
{
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = server;
connectionInfo.DatabaseName = database;
connectionInfo.UserID = user;
connectionInfo.Password = password;
Tables tables = document.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
tableLogOnInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogOnInfo);
}
Many thanks in advance!