2017-01-28 3 views
0
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?

+0

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

+0

Der Benutzer hat eine Berechtigung, und der Dialog "Datenbankanmeldung" wird mit dem Feld Datenbankname deaktivieren angezeigt !!! dann kann man den Datenbanknamen nicht setzen – nabegheh95

+0

was ist meine Lösung? @rene – nabegheh95

Antwort

0

Ich löste mein Problem. :) Als ich das Projekt erstellte, war die crystalReport Version 10 auf meinem System installiert. Dafür habe ich "crystalReportViewer Version 10" aus Toolbox Item ausgewählt. Ich habe Version 10 von Crystal Reports deinstalliert und Version 11 installiert. Im nächsten Schritt löschte ich crystalReportViewer aus der Toolbox von Visual Studio und wählte dann erneut "crystalReportViewer Version 11" aus Toolbox Item.

jetzt mein Projekt und erstellte exe-Datei, führt korrekt in allen systam, die Crystal Reports-Version 10 später hat.

danke! @rene :)