Mysql
 sql >> Datenbank >  >> RDS >> Mysql

gespeicherte Prozeduren, die über jdbc ausgeführt werden

Vielleicht ist es besser, wenn Sie tatsächlich Zugriff auf mysql.proc gewähren Tabelle an Ihren Anwendungsbenutzer. Verbinden Sie sich also als root mit Ihrer MySQL-Datenbank und führen Sie Folgendes aus:

GRANT SELECT ON `mysql`.`proc` TO '<username>'@'%';

Ihre Java-App sollte dann in der Lage sein, die richtigen Metadaten zu sehen, ohne noAccessToProcedureBodies=true angeben zu müssen

Stellen Sie außerdem sicher, dass der Benutzer, unter dem Sie eine Verbindung zur Datenbank herstellen, über Ausführungsberechtigungen für die betreffende Prozedur verfügt. Wieder als Root-Benutzer oder Benutzer mit Grant-Privilegien:

GRANT EXECUTE ON PROCEDURE db.storedproc TO '<username>'@'%';

Viel Glück!