Hallo zusammen,
habe folgendes Problem:
Wenn ich mit VS 2005 und CR 10.2.36000.0 ein Projekt mit Reports erstelle, laufen diese nicht auf anderen Maschinen bzw. Datenbanken!
Beispiel:
1 Report mit einem Subreport, der Subreport benötigt eine ID, die ich vom Hauptreport über 'Unterberichtsverknüpfung ändern' durchschleife.
Der Report läuft auf meiner Dev-Maschine ohne Probleme.
Zur Laufzeit setze ich meine Logon-Informationen für den Haupt- und den Subreport mit:
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
Dim myTables As Tables = myReportDocument.Database.Tables
Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
For Each myTable In myTables
Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
myTableLogonInfo.ConnectionInfo = myConnectionInfo
myTable.ApplyLogOnInfo(myTableLogonInfo)
Next
End Sub
Meine Datenbankinformationen hole ich mir ebenfalss zur Laufzeit aus meiner web.config Datei:
Dim Servername As String = ConfigurationManager.AppSettings("ServerName1").ToString()
Dim DatabaseName As String = ConfigurationManager.AppSettings("DatabaseName").ToString()
Dim UserID As String = ConfigurationManager.AppSettings("UserID").ToString()
Dim Password As String = ConfigurationManager.AppSettings("Password").ToString()
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
myConnectionInfo.ServerName = Servername
myConnectionInfo.DatabaseName = DatabaseName
myConnectionInfo.UserID = UserID
myConnectionInfo.Password = Password
'SetDBLogonForReport
'-------------------
SetDBLogonForReport(myConnectionInfo, rd)
Wenn ich nun mein Projekt auf eine Produktivsystem deploye und mit einer neuen Datenbank die Reports betreiben möchte bekomme ich immer die Fehlermeldung, dass Crystal weitere Informationen benötigt!!!
Dies ist Quatsch, denn wenn ich den Report, sprich die rpt-Datei, auf dem Produktivrechner einmal in der Entwicklungsumgebung öffne, eine Voransicht erstellen lasse und den Report dann speichere funktioniert er einwandfrei?!?
Für mich sieht das so aus als wie wenn in der rpt-Datei irgendwo noch die Verbindung zur alten Datenbank steht...
Übrigens: die zur Laufzeit "umgebogenen" Logon-Informationen sind korrekt, denn ich habe das rd-Objekt direkt nach Vergabe der neune Logon-Informationen programmtechnisch gespeichert und unter Crystal Reports/Datenbank/Datenquellpfad festlegen waren dann auch die richtigen, nämlich neuen DB-Verbindung zu finden.
Weiss jemand Rat? Danke.