"Fehler beim XML-Parsing in Zeile xxx, Spalte 36: unzulässiges xml-Zeichen" beim Importieren in Power Pivot vom SSRS-Bericht

8

Excel 2016 (16.0.6965.2076)

SQL Server 2014 (12.0.4213.0)

Ich habe einen SSRS-Bericht mit 10 Parametern - zwei sind Daten und die anderen 8 sind Text-Dropdowns mit einer Abfrage zum Auffüllen der Optionen. Wenn ich versuche, diesen Bericht in ein Power Pivot-Datenmodell in Excel (Power Pivot - & gt; Manage - & gt; Aus anderen Quellen - & gt; Bericht) abzurufen, wenn der Tabellenimport-Assistent abgeschlossen ist (nach erfolgreicher Angabe meiner Bericht- und Parameterwerte und Wenn der Bericht im Assistenten korrekt angezeigt wird, klicken Sie auf der Seite Tabellen und Ansichten auswählen auf die Schaltfläche Fertig stellen. Ich erhalte eine Fehlermeldung:

  

XML-Analyse fehlgeschlagen in Zeile 1345, Spalte 36: Unzulässiges XML-Zeichen.

Die angegebene Zeile hängt davon ab, welche Parameterwerte ich für den Bericht angegeben habe, aber die Spalte ist immer 36. Ich habe meinen Bericht überprüft, und diese Zeilen- und Spaltennummern scheinen sich nicht auf meinen Bericht zu beziehen, da beide häufig vorhanden sind größer als die Gesamtzahl der Zeilen / Spalten, die im Bericht zurückgegeben werden.

Ich habe mich online umgeschaut und ein paar Ressourcen gefunden, die sich mit diesem Problem befassen, aber ich konnte keine Lösung für mein Problem finden:

Dieser Blog und dieses verknüpfte Microsoft Connect-Ticket schlägt vor, dass ich Ich kann dies erreichen, indem ich meinen Bericht als Daten-Feed exportiere und im Power-Pivot-Assistenten darauf referenziere, aber das funktioniert auch nicht für mich, ich bekomme einen anderen Fehler:

  

Das Schema für den Datenfeed konnte nicht abgerufen werden. '[Report feed Name]'. Stellen Sie sicher, dass dieser Feed vorhanden ist.

Ich habe an anderer Stelle online Vorschläge gefunden, dass dieser nachfolgende Fehler (oder das ursprüngliche Problem) möglicherweise darauf zurückzuführen ist, dass die Berichts-URL zu lang ist (einschließlich Parameter / Werte). Leider sehe ich keine weitere Möglichkeit, die URL-Länge zu reduzieren (derzeit über 700 Zeichen), da ich meine Parameternamen und den Berichtsnamen minimiert habe, aber immer noch dieses Problem habe (ich glaube nicht, dass ich die Parameterwerte so reduzieren kann) aus einer Anwendungsdatenbank abgerufen, die wir nicht ändern können.)

Ich habe auch Vorschläge gesehen, um meine Parameter "Werte aus Abfrage abfragen" durch Parameter "Werte angeben" zu ersetzen, aber dies ist nicht praktikabel, da die Parameterwerte aus der oben genannten Anwendungsdatenbank abgerufen werden müssen und sich im Laufe der Zeit ändern. also müssen dynamisch abgerufen werden.

Kann jemand eine Lösung oder weitere Schritte zur Fehlerbehebung vorschlagen, denen ich für dieses Problem folgen kann?

    
3N1GM4 31.08.2016, 13:08
quelle

2 Antworten

3

Um Ihr Problem einzugrenzen, würde ich den Bericht (unter Verwendung Ihrer Parameter) in das XML-Format exportieren. Dies ist effektiv eine manuelle Wiederholung dessen, was Power Pivot macht, wenn es Ihren Bericht aufruft.

Dann würde ich diese Datei in einem XML-Editor (z. B. Visual Studio) öffnen und nach "Zeile 1345, Spalte 36: Unzulässiges XML-Zeichen" suchen.

Wenn dies durch einen Textfeldnamen ausgelöst wird, können Sie sie für den XML-Export überschreiben, indem Sie die DataElementName-Eigenschaft festlegen.

Wenn es von einem Datenwert ausgelöst wird, würde ich einen SSRS-Ausdruck verwenden, um es zu vermeiden. Sie können für Globals!RenderFormat.Name = "XML" testen, um nur den Datenwert in diesem Szenario zu bearbeiten.

    
Mike Honey 06.02.2017 05:49
quelle
0

Die erste Untersuchung, die ich vorschlage, versucht, das URL-Problem als mögliche Ursache auszuschließen. Nur zu Testzwecken, ist es möglich, den Bericht zu kopieren und so zu modifizieren, dass die meisten Parameter mit gültigen Beispielen fest codiert sind? Sie könnten dann versuchen, den Bericht mit einer viel kleineren URL zu holen, die nur einen oder zwei Parameter verwendet.

Wenn der kopierte Bericht funktioniert und bestätigt, dass die URL-Länge das Problem ist, haben Sie keine andere Wahl, als weitere Möglichkeiten zur Verringerung der URL-Länge zu untersuchen.

Wenn die URL-Länge das Problem ist, könnten Sie schrittweise Parameter hinzufügen, um eine Ziel-URL-Länge zu ermitteln, die korrekt funktioniert.

Ist es möglich, die Länge der Eingabeparameter zu reduzieren? Wenn die Parameter mit Werten von Daten oder Code übereinstimmen müssen, die nicht einfach geändert werden können, ist es möglich, den Bericht so zu modifizieren, dass er eine Nachschlagetabelle enthält, so dass die übergebenen kurzen Variablen ihren Vollversionen zugeordnet werden?

Alternativ haben Sie mehrere Textparameter mit nur 2 oder 3 Optionen? Oder gibt es nur wenige Parameter, die nur in bestimmten Kombinationen gültig sind? Wenn dies der Fall ist, gibt es Ihnen eine andere Möglichkeit, obwohl dies eine äußerst schlechte Praxis ist und viel Aufwand zur Pflege der Berichte erfordert, wenn sich etwas ändern muss ... Sie könnten mehrere Kopien des Berichts erstellen und die Parameter, die begrenzt sind, fest codieren Anzahl der gültigen Kombinationen. Ausgehend von den in Excel gespeicherten Eingabeparametern rufen Sie dann den entsprechenden Bericht auf, der diesen Parametern entspricht, und geben die verbleibenden Parameter in der URL weiter.

Wenn jedoch die URL-Länge nicht das Problem ist, können Sie sich mehr Mühe geben, die Ursache und hoffentlich sauberere Lösungen zu untersuchen!

    
Michael 06.02.2017 01:52
quelle