Okay, hier ist das Szenario Ich habe eine VB6-Anwendung, die für asp.net 3.5 neu geschrieben wird. Ich habe eine Reihe von Crystal Reports, die auf Crystal Reports 10.5 (das in Visual Studio 2008 enthalten ist) aktualisiert werden. Alle alten Berichte verwendeten OLEDB. Was ich mache, nimmt die in den Berichten verwendeten SQL-Anweisungen und legt sie in der Datenbank ab. Als nächstes führe ich einen automatisierten Prozess aus, um aus diesen Select-Anweisungen ein Dataset zu erstellen. Ich serialisiere das DataSet und speichere das Schema und die Daten als XML-Dokument. Ich gehe dann in den alten Bericht, um ihn in Crystal Reports 10.5 zu aktualisieren und den Speicherort der Datenquelle so zu ändern, dass er das XML-Dokument verwendet.Crystal Reports - Ungültiges Argument wird bereitgestellt. Fehler beim Öffnen eines Rowsets. ADO.NET xml
Wenn der Bericht ausgeführt wird ich das gleiche DataSet erstellen und anstatt es als XML-Serialisierung I weisen es dem Bericht (siehe unten)
rd.Database.Tables(0).SetDataSource(ds)
ich diese getestet und bekommen keine Fehler, wenn ich Erstellen Sie den Bericht neu, aber wenn ich einen vorhandenen Bericht nehme und den Speicherort der Datenbank ändere, erhalte ich den folgenden Fehler
Ungültiges Argument zur Verfügung gestellt. Fehler beim Öffnen eines Rowsets. Fehler in der Datei C: \ DOCUME ~ 1 \ Benutzername \ LOCALS ~ 1 \ Temp \ R-302 {D49E0C73-47AC-4363-AAD5-E925DFCF446E} .rpt: Ungültiges Argument für die Datenbank. bei CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException (Exception e) bei CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream (ExportRequestContext reqContext) bei CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream
Es scheint, als ob der Bericht nach wie vor zu verbinden versucht, Verwenden von OLEDB zu der alten Datenbank. Ich konnte einen Bericht erstellen, der funktioniert, wenn ich ihn mit genau der gleichen Logik neu schreibe, aber die aktualisierten Berichte durch den obigen Fehler. Wie repariere ich es?