Hallo,
ich habe für eine Datenbank ein Frontend geschrieben. Die Daten vom SQL-Server (2016) hole ich per stored procs. Die User sollen auch nur ein EXECUTE-Recht haben.
Das funktioniert wunderbar, solange in der Stored Proc irgendwann (nach Parameterzuweisungen, Fehlerbehandlung, Prüfung auf Korrektheit) ein
SELECT Felder FROM MyTable
kommt.
Eine Proc ist allerdings anders aufgebaut. Hier baue ich die SQL-Anweisung anhand von Parametern in einem String zusammen und versuche dann per sp_executesql diesen laufen zu lassen:
IF @param1 = 1 @SQL = 'SELECT eine Sache' ELSE @SQL = 'SELECT eine andere Sache' EXEC sp_executesql @stmt=@SQL
(natürlich umfangreicher als in diesem vereinfachten Beispiel.
Nun erhalte ich die Fehlermeldung, dass dafür für die angesprochenen Tabellen und Views ein SELECT-Recht notwendig sei.
Warum ist dies so? Und wie komme ich um die Vergabe dieses Rechtes herum?
Danke schon mal im Voraus für Eure Hilfe
Wolfgang