try
{
string spath = AppDomain.CurrentDomain.BaseDirectory;
spath += "myReportFileName.rpt";
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(spath);
cryRpt.DataSourceConnections[0].SetConnection("Server Name", "DB Name", true);
cryRpt.DataSourceConnections[0].IntegratedSecurity = true;
cryRpt.SetParameterValue("Field Name", "Value");
cryRpt.RecordSelectionFormula = "Correct Formula";
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
catch (System.Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
In meinem System ist dieser Code in Ordnung. Aber in einem anderen System hat es einen Fehler. Ich habe in allen anderen Systemen den Crystal Report korrekt installiert.Dynamische Last .rpt in C#
Dieser Code wurde mit dem Fehler ausführt:
crystaldecisions.crystalreports.engine.reportdocument' threw an exception
Dann CRRuntime_32bit_13_0_3.msi in Client-System I ausgeführt. Dieser Fehler gelöst Aber anderes Problem:
Nach dem Ausführen von Code wird der "Datenbank-Login" -Dialog angezeigt, und ich nicht automatisch mit der Datenbank verbinden, und nicht die Berichtsdatei anzeigen !!!
Bitte helfen Sie mir, was muss ich tun?
Wenn Sie integrierte Sicherheit verwenden, muss der Benutzer, der Ihren Bericht ausführt, über Berechtigungen für die Datenbank verfügen. Wenn die Authentifizierung fehlschlägt, wird dem Benutzer der Verbindungsdialog angezeigt, um die korrekten Anmeldeinformationen bereitzustellen. Es gibt nichts in Ihrem Code zu beheben. – rene
Der Benutzer hat eine Berechtigung, und der Dialog "Datenbankanmeldung" wird mit dem Feld Datenbankname deaktivieren angezeigt !!! dann kann man den Datenbanknamen nicht setzen – nabegheh95
was ist meine Lösung? @rene – nabegheh95