Crystal Reports do not save authentication details within the Report, you must provide them to the report as follows;
ReportDocument rptDoc = new ReportDocument();
rptDoc.Load("Path and Filename of the Report");
CrystalDecisions.Shared.ConnectionInfo conRpt = new ConnectionInfo();
conRpt.ServerName = "DB Server";
conRpt.DatabaseName = "DB Name";
conRpt.IntegratedSecurity = false;
conRpt.UserID = "SQL Username";
conRpt.Password = "SQL Password";
CrystalDecisions.CrystalReports.Engine.Tables tblsRpt = rptDoc.Database.Tables;
for(int i = 0; i < tblsTRpt.Count; i++)
{
CrystalDecisions.CrystalReports.Engine.Table tblRpt = tblsRpt[i];
CrystalDecisions.Shared.TableLogOnInfo infoTbl = tblRpt.LogOnInfo;
infoTbl.ConnectionInfo = conRpt;
tblRpt.ApplyLogOnInfo(infoTbl);
}
rptDoc.VerifyDataBase();
Please note; VerifyDatabase does not return a value, hence I would expect that you will need to wrap the statement in a try/catch/finally & handle errors yourself
Hope this helps