Frage

Ich habe einen Bericht, der einen gespeicherten Proc ausführt:

EXEC ra_spProjectCalendar @Month, @Year, @ProjectID

ProjectID ist ein mehrfach ausgewählter Dropdown. Wenn ein einzelnes Projekt ausgewählt ist, funktioniert es einwandfrei. Wenn ich mehrere Projekte auswähle, erhalte ich den Fehler:

"Must declare scalar variable "@ProjectID"

Es funktioniert gut, wenn ich es auf der Registerkarte Daten ausführe. Wenn ich es jedoch in den Vorschau -Modus versetze, habe ich Probleme.

War es hilfreich?

Lösung

Ich habe etwas Ähnliches wie die Arbeit erhalten, indem ich die Abfrage als Ausdruck konstruiert habe - in Ihrem Beispiel

="EXEC ra_spProjectCalendar @Month = '" & Parameters!Month.Value & "',@Year='" & Parameters!Year.Value & "',@ProjectID = '" &  Join(Parameters!ProjectID.Value, ",") & "'"

Einige Code in der Ziel-SP spaltet die Multi-Selekt-Zeichenfolge in eine temporäre Tabelle auf, die in Verknüpfungen verwendet wird, um Ausgabe zu erstellen.

Ich kann mich nicht erinnern, warum wir es so gemacht haben - es war genau zu Beginn unseres Wechsels zu SSRs und die Dinge haben sich seitdem ein wenig weiterentwickelt -, aber es war vielleicht das Problem, das Sie beschreiben.

Andere Tipps

Ich hatte den gleichen Fehler aufgetreten: Muss die skalare Variable deklarieren.

Mir ist das erste, was Sie überprüfen sollten, dass SSRS beim Eingeben der Abfrage als Text oder den gespeicherten Proc als gespeicherten Proc -Typ automatisch den Parametereintrag auf der Registerkarte Parameter der Datensatzeigenschaften erstellt wird. Wenn es nicht erstellt wird, kann es Ihre Abfrage nicht richtig lesen.

In meinem Fall habe ich OpenQuery verwendet, um einen Analyse -Dienste -Würfel anzurufen und auf die Feldnamen zu verweisen, die viele quadratische Klammern enthalten. Leider liebt es SSRs, Ihren Code so neu formatieren, dass [Maßnahmen]."

Wenn Sie diese Abfrage in einem anderen Tool bearbeiten, dann können Sie sie wieder in SSRS zurückziehen, dann kann SSRS diese Syntax nicht lesen! Auch wenn es es generiert! Entfernen Sie also alle zusätzlichen quadratischen Klammern und ersetzen Sie die doppelten Zitate und Boom, die es wieder funktioniert, und generiert Ihre Parameter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top