SSRS 2005 – Erfassen der RAISERROR-Meldung

Ich überprüfe, ob ein Benutzer eine Berechtigung hat, den Bericht über die gespeicherte datasatzdatei anzuzeigen, und wenn der Benutzer nicht ist, wird raiserror aufgerufen.

Gibt es eine Möglichkeit, eine andere Nachricht von SQL server Reports 2005 anzuzeigen, wenn eine gespeicherte Prozedur (die das Report-Dataset füllt) den Fehler (über RAISERROR) anstatt data zurückgibt?

Hier ist ein Skelett-Code des datasatzes gespeicherte Prozedur

create procedure ReportSprocName @ClientID int, @Login sysname as begin --; check user's permission through @Login --; * Pseudo code * if @Login does not have permission begin raiserror(@Login does not have permission, 127, 1) return end select id, name, etc... from someTable end GO 

Ich interessiere mich für zwei mögliche Lösungen

  1. Fehlermeldung innerhalb von RAISERROR anzeigen
  2. Anzeigen einer hartcodierten benutzerdefinierten Nachricht im SSRS-Report selbst

Derzeit ist dies die Standardmeldung, die von SSRS-Berichten angezeigt wird Alt-Text

   

Warum würden Sie dem Benutzer erlauben, den Bericht zu feuern, wenn er keine Berechtigung zum Anzeigen hat?

Um eine benutzerdefinierte Nachricht im SSRS-Report selbst anzuzeigen:

  1. Fügen Sie ein Textfeld hinzu
  2. Passen Sie den Text an, der auf ihr zu Ihrer Zufriedenheit angezeigt wird
  3. Geben Sie einen Ausdruck für die Sicht Sichtbarkeit> Versteckter Wert (propertiesfenster) an. IE:

    = iif (count (Felder! Application_Number.Value, "YOUR-DATASOURCE-NAME")> 0, true, false)