2009-07-08 5 views
1

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?

Antwort

0

Ich hatte genau den gleichen Fehler und Kontext (Crystal Report in Visual Studio 2008). Die Verwendung meiner neuen Verbindung in einem neuen Bericht war in Ordnung, aber die Zuordnung dieser Verbindung zu einem alten Bericht (mit "Set Datasource Location") hat mir diesen Fehler bei der Verwendung des Berichts mit der Funktion ExportToStream.

Was ich schließlich tat, ging zu "Datenbank-Experte", entfernte meine Verbindung und sagte "OK" zum "Remove File" -Box "Es gibt Felder im Bericht von dieser Datei. Weiter?" Dadurch wurden alle Felder im Bericht entfernt. Ich muss sie erneut einfügen und die Felder für meine Gruppen erneut auswählen, aber zumindest musste ich nicht das gesamte Layout neu erstellen.

Ich denke, es ist ein Fehler in Crystal Report für Visual Basic.

1

Ich poste dies hier, weil es das oberste Ergebnis für "Invalid Argument Crystal" ist.

Ich habe in Crystal Reports XI an einem Bericht gearbeitet, der mit einer Datenquelle verknüpft war, die ich über die GUI ändern wollte. Die Auswahl der neuen Datenquelle und das Klicken auf "Aktualisieren" scheint nichts zu tun, und ich würde den Dialog schließen, wo ich die Meldung "Ungültiges Argument bereitgestellt" erhalten würde. Ich versuchte viele Dinge, bevor schließlich schließen und die Datei wieder öffnen, die funktionierte, als ich es noch einmal versuchte.

Dadurch konnte ich die Datenquelle ändern, ohne die zugehörigen Felder zu entfernen.

Mein Arbeits-PC bleibt für VPN-Zwecke eingeloggt/eingeschaltet/gesperrt 24/7 und ich hatte den betreffenden Bericht am Vortag geöffnet. Meine Vermutung ist, dass eine Verbindung zur SQL-Instanz abgelaufen ist und nicht wiederhergestellt wurde.

Ich entschuldige mich für diese alte Frage, oder wenn das die falsche Sache war; Aber angesichts der Bedeutung der Seite in den Suchergebnissen hoffe ich, dass dies jemand anderem helfen kann.