Nur zum Vergleich, weiß nicht wie es bei Firebird ist:
In Oracle wird zwischen Owner und Invoker unterschieden. Ist eine SP Owner orientiert definiert, so reicht es dem Invoker das Recht auf die SP allein zu geben. Die SP arbeitet dann intern mit Owner Privileges.
Ist die SP als Invoker SP angelegt, so muss ein Verfahren ähnlich wie von Frickler beschrieben verwendet werden, um alle verwendeten Objekte an den Invoker zu berechtigen, damit er letztlich die SP ausführen darf.
Die Geschichte mit den Ownern (heißt da "DEFINER") und Invokern wird es meines Wissens nach mit der nächsten Firebird Version 4 geben.
klingt irgendwie alles unvollständig, kannst du eine mini
db machen, die den gleichen fehler hat
und dann entweder hier oder mir direkt die metadaten senden?
Ich probiers.
EDIT: Ich konnte das Verhalten in einer kleinen Demo nicht nachstellen.
Nach längerem Rumgraben fand ich dann heraus, dass beim Ausführen meines Scriptes, welches die ursprüngliche Datenbank erzeugt, manche GRANT-Anweisungen übersprungen wurden. Das hat was mit Kommentaren im Script und einem alten UniDAC Bug zu tun, der wohl inzwischen beseitigt wurde.
Langer Rede kurzer Sinn: es funktioniert, so wies soll!