wake-up-neo.net

SSRS-Abfrageausführung für Dataset fehlgeschlagen

Ich habe mein Projekt gerade auf meinem Berichterstellungsserver bereitgestellt.

Ich habe mehrere Datensätze, die auf Ansichten verweisen, die auf der Datenbank auf diesem Server vorhanden sind.

Wenn ich versuche, in einen Berichtsteil zu gelangen, erhalte ich folgende Nachricht:

An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'dataset1'. (rsErrorExecutingCommand)
For more information about this error navigate to the report server on the local server machine, or enable remote errors 

Kann jemand helfen?

21
JsonStatham

Ich habe Remote-Fehler aktiviert, um das Problem zu lokalisieren.

Ich habe festgestellt, dass eine Spalte in einem bestimmten Datensatz (eine meiner Ansichten) einen Fehler auslöst.

Also habe ich mit dem Tool "SQL Delta" die Entwicklungsversion der Datenbank mit der Live-Version auf dem Berichtsserver verglichen. Ich habe bemerkt, dass eine der Ansichten eine zusätzliche Spalte auf dem Entwicklungsserver hatte, die nicht in der Live-Version der Datenbankversion enthalten war.

SQL Delta hat das Skript generiert, das ich ausführen musste, um die Ansicht auf meiner Live-Datenbank zu aktualisieren.

Ich habe dieses Skript ausgeführt, den Bericht erneut ausgeführt, alles hat funktioniert.

9
JsonStatham

Ich bin auf eine ähnliche Fehlermeldung gestoßen. Ich konnte es beheben, ohne Remote-Fehler zu aktivieren. 

Wenn ich in Report Builder 3.0 den Bericht mit der Schaltfläche Run ausgeführt habe, wurde eine Fehlermeldung angezeigt

An error has occurred during report processing. (rsProcessingAborted)
[OK] [Details...]

Wenn Sie auf die Schaltfläche "Details" klicken, wurde ein Textfeld angezeigt, in dem dieser Text angezeigt wurde:

For more information about this error navigate to the report server
on the local server machine, or enable remote errors
----------------------------
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand)

Ich war verwirrt und frustriert, weil mein Bericht keinen Datensatz mit dem Namen "DataSet1" hatte. Ich habe sogar die .rdl-Datei in einem Texteditor geöffnet, um sicherzugehen. Nach einiger Zeit bemerkte ich, dass in dem Textfeld unter dem Text mehr Text enthalten war, was ich lesen konnte. Die vollständige Fehlermeldung war:

For more information about this error navigate to the report server
on the local server machine, or enable remote errors
----------------------------
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand)

----------------------------
The execution failed for the shared data set 'CustomerDetailsDataSet'.  
(rsDataSetExecutionError)
----------------------------
An error has occurred during report processing. (rsProcessingAborted)

I did hat ein gemeinsam genutztes Dataset mit dem Namen 'CustomerDetailsDataSet'. Ich habe die Abfrage (eine vollständige SQL-Abfrage, die im Textmodus eingegeben wurde) in SQL Server Management Studio geöffnet und dort ausgeführt. Ich erhielt Fehlermeldungen, die eindeutig auf eine bestimmte Tabelle hinwiesen, in der eine von mir verwendete Spalte umbenannt und geändert wurde. 

Von diesem Punkt aus war es unkompliziert, meine Abfrage so zu ändern, dass sie mit der neuen Spalte funktionierte. Diese Änderung wurde dann in das gemeinsam genutzte Dataset 'CustomerDetailsDataSet' eingefügt. Anschließend wurde der Bericht im Berichts-Generator verschoben, um die Änderung an dem gemeinsam genutzten Dataset zu erkennen.

Nach diesem Fix haben meine Berichte diesen Fehler nicht mehr ausgelöst.

8
Jim DeLaHunt

Ich hatte das gleiche Problem, es ging um die Sicherheit, die einem Teil der Tabellen nicht gewährt wurde. Überprüfen Sie, ob Ihr Benutzer Zugriff auf die vom Bericht verwendeten Datenbanken/Tabellen/Ansichten/Funktionen usw. hat. 

4
user3715198

Ich habe mich gerade mit diesem Problem befasst. Stellen Sie sicher, dass Ihre Abfrage den vollständigen Quellennamen ohne Verknüpfungen auflistet. Visual Studio erkennt die Verknüpfungen, aber Ihre Reporting Services-Anwendung kann möglicherweise nicht erkennen, aus welchen Tabellen Ihre Daten stammen sollen. Hoffentlich hilft das. 

3
Dave

Ich hatte ein ähnliches Problem mit dem Fehler 

Weitere Informationen zu diesem Fehler finden Sie im Berichtsserver unter die lokale Server-Maschine oder aktivieren Sie Remote-Fehler. Abfrageausführung für Datensatz 'PrintInvoice' fehlgeschlagen.

Lösung: 1) Der Fehler kann in einigen Fällen mit dem Dataset zusammenhängen. Sie können immer überprüfen, ob das Dataset genau die Daten enthält, die Sie erwarten. Gehen Sie dazu zu den Dataset-Eigenschaften und wählen Sie "Query Designer". Versuchen Sie "Ausführen". Wenn Sie die erwarteten Felder erfolgreich abrufen können, können Sie sicher sein, dass mit dem Dataset kein Problem auftritt, was zur nächsten Lösung führt.

2) Auch wenn in der Fehlermeldung "Query Failed Execution für das Dataset" angezeigt wird, besteht eine weitere wahrscheinliche Chance für die Datenquellenverbindung. Stellen Sie jedoch sicher, dass Sie eine Verbindung mit der richtigen Datenquelle hergestellt haben, die die benötigten Tabellen enthält, und über Berechtigungen zum Zugriff auf diese Datenquelle verfügen. 

3
Sri Harsha

Wie viele andere hier hatte ich den gleichen Fehler. In meinem Fall lag dies daran, dass die Ausführungsberechtigung für eine von ihr verwendete gespeicherte Prozedur abgelehnt wurde. Sie wurde behoben, als der mit der Datenquelle verknüpfte Benutzer diese Berechtigung erhielt.

3
SteveC

In meiner Situation habe ich einen neuen SSRS-Bericht und eine neue gespeicherte Prozedur für die Datenmenge erstellt. Ich habe vergessen, die gespeicherte Prozedur der Datenbankrolle hinzuzufügen, die die Berechtigung hatte, sie auszuführen. Nachdem ich die Berechtigungen zur SQL-Datenbankrolle mit EXECUTE hinzugefügt hatte, war alles in Ordnung!

Die Fehlermeldung, auf die der Benutzer stieß, war "Beim Client-Rendering ist ein Fehler aufgetreten. Bei der Berichtsverarbeitung ist ein Fehler aufgetreten (rsProcessingAborted). Die Abfrageausführung schlug für die Datenmenge" DataSet1 "fehl. (rsErrorExecutingCommand) Für weitere Informationen ... "

2
Doreen

Die Lösung für mich kam aus GShenanigan :

Für weitere Informationen müssen Sie Ihre Protokolldateien auf dem SSRS-Server auschecken. Sie werden wie folgt lauten: "C:\Programme (x86)\Microsoft SQL Server\MSRS10_50.DEV\Reporting Services\LogFiles \"

Ich konnte ein Berechtigungsproblem in einer Datenbanktabelle finden, auf die von der Sicht verwiesen wurde, die nicht mit der Position der Sicht identisch war. Ich hatte mich auf Berechtigungen für die Datenbank der Ansicht konzentriert, daher konnte ich feststellen, wo der Fehler lag.

2
casilvis

Dieses Problem wurde durch eine verwaiste SQL-Anmeldung verursacht. Ich habe mein Lieblings-Skript "sp_fixusers" ausgeführt und der Fehler wurde behoben. Der obige Vorschlag, sich die Protokolle anzusehen, war gut ... und führte mich zu meiner Antwort.

1
Lee

BIGHAP: EINE EINFACHE ARBEIT FÜR DIESE AUSGABE.

Bei der Arbeit mit SharePoint-Listen stieß ich auf das gleiche Problem wie die DataSource. Ich las die darüber liegenden Blogs, die sehr hilfreich waren. Ich hatte sowohl die DataSource- als auch die Data-Objektnamen und die Abfragefelder in Visual Studio geändert, und die Abfrage arbeitete in Visual Studio. Ich konnte den Bericht in SharePoint bereitstellen, aber als ich ihn öffnen wollte, erhielt ich dieselbe Fehlermeldung. 

Ich nahm an, dass das Problem darin bestand, dass sowohl die DataSource als auch das DataSet für SharePoint neu bereitgestellt werden mussten, sodass alle Änderungen in den Rendering-Tools synchronisiert wurden. 

Ich habe die DataSource, das DataSet und den Report auf sharePoint neu bereitgestellt, und es hat funktioniert. Wie eines der Blogs feststellte, erlaubte Visual Studio zwar den Änderungen, die ich an der Datenmenge und der Datenquelle vorgenommen habe, wenn Sie nicht festgelegt haben, dass Visual Studio die Datenquelle und die Datenmenge automatisch neu bereitstellt, wenn Sie den Bericht bereitstellen (was gefährlich sein kann, da dies möglich ist kann Auswirkungen auf andere Berichte haben, die diese Objekte gemeinsam nutzen.) Dieser Fehler kann auftreten. 

Daher ist das Problem natürlich, dass Sie in diesem Fall Datenquelle, Datensatz und Bericht erneut bereitstellen müssen, um das Problem zu beheben.

1
user4541411

Sehr dankbar fand ich diesen tollen Beitrag. In meinem Fall hatte der Benutzer, der die gespeicherte Prozedur ausführte, keine EXECUTE-Berechtigungen. Die Lösung bestand darin, dem Benutzer innerhalb der gespeicherten Prozedur EXECUTE Berechtigungen zu erteilen, indem am Ende der gespeicherten Prozedur der folgende Code hinzugefügt wird.

GRANT EXECUTE ON dbo.StoredProcNameHere TO UsernameRunningreports
GO
1
zymos

Ich habe den gleichen Fehler bekommen, aber das hat funktioniert und mein Problem gelöst

Wenn der Bericht mit dem Analysis-Server verbunden ist, erteilen Sie dem Benutzer (der auf den Berichtsserver zugreift, um die Berichte anzuzeigen) die erforderliche Berechtigung in Ihrem Modell des Analyseservers. Dazu müssen Sie - Benutzer in den Rollen des Modells oder hinzufügen cube und stellen Sie das Modell auf Ihrem Analyseserver bereit.

1
Vipin Bihari

Ich hatte auch ein sehr ähnliches Problem mit einer sehr ähnlichen Fehlermeldung. Mein Problem war, dass die Datenbank nicht verbunden werden konnte. In unserem Fall haben wir Datenbanken gespiegelt, und in der Verbindungszeichenfolge wurde kein Failover-Partner angegeben. Wenn die Datenbank keine Verbindung herstellen konnte, ging sie nie zum Spiegel und gab diesen Fehler aus. Nachdem ich den Failover-Partner in der Verbindungszeichenfolge für meine Datenquelle angegeben hatte, wurde das Problem behoben.

1
bunggo

Ich war auch mit dem gleichen Problem konfrontiert - ich habe die folgenden Dinge geprüft, um dieses Problem zu beheben.

  • Wenn Sie kürzlich den Namen der zeigenden Datenbank in der Datenquelle geändert haben
    Überprüfen Sie zuerst, ob alle Speicherprozeduren für diesen Bericht vorhanden sind auf der geänderten Datenbank.

  • Wenn im Hauptbericht mehrere Unterberichte vorhanden sind, stellen Sie sicher, dass jeder Bericht einzeln einwandfrei ausgeführt wird.

  • Überprüfen Sie auch das Sicherheitsfenster. Der Benutzer muss Zugriff auf die Datenbanken / Tabellen/Ansichten/Funktionen für diesen Bericht haben.

Manchmal müssen wir auch die dataset1-store-Prozedur überprüfen. Wenn Sie versuchen, den Bericht mit user1 anzuzeigen, und wenn dieser Benutzer nicht über die access(rights) der bereitgestellten (dataset1 database)-Datenbank verfügt, wird derselbe Fehler wie oben ausgegeben, sodass der Benutzer den Zugriff auf dbreader in SQL Server überprüfen muss.

Auch wenn diese Speicherprozedur eine andere Datenbank enthält, die (Database2) gefällt 

Select * from XYZ inner join Database2..Table1 on ... where...

Dann muss der Benutzer auch Zugriff auf diese Datenbank haben. 

Hinweis: Sie können die Protokolldateien auf diesem Pfad auf weitere Details überprüfen.

C:\Program Files\Microsoft SQL Server\MSRS11.SQLEXPRESS\Reporting Services
1
pedram

Mit SSRS, Report Builder 3.0, MSSQL 2008 und einer Abfrage an eine Oracle 11G-Datenbank Fand ich heraus, dass die gespeicherte Oracle-Prozedur gut lief und konsistente Ergebnisse ohne Fehler lieferte. Als ich versuchte, die Daten in SSRS zu übertragen, wurde der Fehler in der Abfrage von OP angezeigt. Ich fand, dass die Daten nur geladen und angezeigt wurden, wenn ich die Parameter entfernte (keine gute Idee). Bei der weiteren Untersuchung habe ich festgestellt, dass ich unter Dataset-Eigenschaften> Parameter das Startdatum auf parameterName P_Start und den Parameter Value auf @P_Start gesetzt hatte.

Durch Hinzufügen des Parameterwerts als [@P_Start] wurde das Problem behoben, und die Daten werden mit den vorhandenen Parametern gut geladen.

1
Joe

Dies kann das Berechtigungsproblem für Ihre Ansichts- oder Speicherprozedur sein

1
Kiran.Bakwad

Zusätzlich zu den obigen Antworten kann es an einer fehlenden SQL-Prozedur oder SQL-Funktion liegen. Dies könnte beispielsweise darauf zurückzuführen sein, dass die Funktion nicht von einer Nicht-Produktregion in die Produktionsregion (Produktregion) migriert. 

0
JosephDoggie