Ich habe ein Problem mit 2 Berichten aus dem gleichen Grund, ich verwende SSRS/SQL 2014. Meine gespeicherte Prozedur dauert 2 Daten und gibt einen sehr einfachen Datensatz, nur 2 Spalten einen Namen und eine Zahl. Wenn ich den SP in SSMS ausführe, funktioniert es einwandfrei, aber wenn ich es in einen Bericht einfüge, läuft der Bericht einfach weiter, scheitert nicht, gibt aber keine Daten zurück. Ursprünglich hatte ich eine Matrix im Bericht, aber um direkt zu den Grundlagen zurückzukehren, wollte ich nur versuchen, den obersten einen Namen aus dem Datensatz zurückzugeben, aber der Bericht läuft gerade. Ich habe überprüft, um sicherzustellen, dass das Konto, das verwendet wird, um den Bericht auszuführen, über Berechtigungen verfügt, die es für andere Berichte verwendet, aber für diesen Vorgang passiert nichts und ich habe keine Ideen mehr, wo ich nachsehen kann. Ich habe den Bericht ein paar Mal neu aufgebaut und ich kann den SP gut sehen und die Feldnamen zurücknehmen, aber keinen Erfolg mehr. Ich habe den Bericht in Visual Studio und SSRS Reporty Builder erstellt. Ich schätze, das ist ein wenig vage, aber ich suche nur nach weiteren Ideen, was ich versuchen soll. DankeSSRS-Bericht wird nicht mit gespeicherter Prozedur ausgeführt
Antwort
Es kann sein, dass Sie eine offene Transaktion in Ihrer gespeicherten Prozedur haben. Dies verhindert nicht, dass die gespeicherte Prozedur in SSMS ausgeführt wird, aber es würde verhindern, dass der SSRS-Bericht gerendert wird. Ihre gespeicherte Prozedur sollte mit einem Semikolon (;) enden, oder mit END/COMMIT/COMMIT TRAN, abhängig vom Start Ihres Verfahrens.
Entschuldigung für die Verzögerung bei der Antwort, aber gerade erst ins Büro gekommen. Danke für all die Vorschläge und ich habe sie durchgegangen, bevor ich auf die Antwort gestolpert bin.
Ich habe die Variablen manuell durch den Bericht übergeben und bekam nichts und beim Überprüfen des Profilers konnte ich sehen, dass sie korrekt übergeben wurden.
Ich nahm die Ausgabe und fügte sie in SSMS und bekam nichts, aber wenn ich einen kleineren Datumsbereich übergeben, dass ich ursprünglich Informationen erhalten, obwohl es Daten für beide Datumsbereiche gibt.
Was ich dachte, würde ich machen, wie ich mich an ein ähnliches Problem vor vielen Jahren erinnern, ich markiert tatsächlich die SP neu kompiliert und führte es erneut in SSMS und führte dann den ursprünglichen Bericht in Visual Studio und auf dem Berichtsserver und jetzt funktioniert alles richtig. Meine einzige Annahme ist, dass der Ausführungsplan irgendwie korrumpiert wurde. Ich hoffe, dass dies jemand anderem hilft.
Vielen Dank, dass Sie mit Ihrer Lösung zurückgekommen sind. Dieses Problem wird "Parameter Sniffing" genannt –
- 1. Überprüfung mit gespeicherter Prozedur
- 2. CakePHP mit gespeicherter Prozedur
- 3. Kann Ergebnisse von gespeicherter Prozedur mit Python-Cursor nicht zurückgeben
- 4. Daten von gespeicherter Prozedur abrufen
- 5. Tabelle Audit-Trigger mit gespeicherter Prozedur ID
- 6. Erhalte Rückgabewert von gespeicherter Prozedur
- 7. SQL-Anzeigetabelle als Ausgabe mit gespeicherter Prozedur
- 8. Ausnahme von Anruf mit gespeicherter Prozedur iBATIS
- 9. Transaktion in gespeicherter Prozedur unterdrücken
- 10. System.Data.SqlClient.SqlException beim Aufruf gespeicherter Prozedur
- 11. Datenbank in gespeicherter Prozedur erstellen
- 12. Problem beim Erstellen gespeicherter Prozedur
- 13. DISTINCT-Wert von gespeicherter Prozedur
- 14. Falsche Ausgabe von gespeicherter Prozedur
- 15. Parameter aus gespeicherter Prozedur abrufen?
- 16. Skript in gespeicherter Prozedur ausführen
- 17. Laden von DataGridView aus gespeicherter Prozedur
- 18. VB.NET: DataGridView von gespeicherter Prozedur auffüllen
- 19. IQueryable <> aus gespeicherter Prozedur (Entitätsframework)
- 20. Abrufen von Rückgabewert von gespeicherter Prozedur
- 21. Gespeicherte Prozedur, die von Trigger aufgerufen wird, wird nicht ausgeführt
- 22. Navision 5.0-Nummernserie von gespeicherter Prozedur
- 23. DocumentDB - Begrenzte Ausführung in gespeicherter Prozedur quantifizieren
- 24. Aufruf gespeicherter Prozedur in einer anderen Sammlung
- 25. Debuggen gespeicherter Prozedur in SQL Server 2008
- 26. SQL Server: Rückgabe Uniqueidentifier von gespeicherter Prozedur
- 27. ORACLE - Cursor aus gespeicherter Prozedur zurückgeben
- 28. Sequelize Sytax zum Aufrufen gespeicherter Prozedur mit Eingabeparametern mit MSSQL
- 29. Auf Tabellenvariable in gespeicherter Prozedur kann nicht zugegriffen werden
- 30. Konnte Daten von gespeicherter Prozedur zu ssrs Bericht nicht erhalten
Können Sie die gespeicherte Prozedur veröffentlichen? –
Versuchen Sie zuerst, die Abfrage manuell vom Designer auszuführen. Klicken Sie in Visual Studio mit der rechten Maustaste auf den Namen des Datasets, wählen Sie "query" und klicken Sie auf die Schaltfläche '!', Fügen Sie die Parameterwerte hinzu, wenn Sie dazu aufgefordert werden, und sehen Sie, was passiert. Wenn es OK funktioniert, werden die Parameter wahrscheinlich falsch übergeben/analysiert. Wenn dies nicht funktioniert, führen Sie eine Ablaufverfolgung in der SQL Server-Box (SQL Profiler) aus und sehen Sie, welche Abfrage auf dem Server selbst ausgeführt wird. Veröffentlichen Sie die Ergebnisse der Tests hier. –