Es gibt zwei Möglichkeiten, dies zu lösen:
-
Setzen Sie
noAccessToProcedureBodies=trueder Verbindung EigenschaftZum Beispiel als Teil der Verbindungszeichenfolge:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=trueDer JDBC-Treiber erstellt dann "INOUT"-Strings für die Argumente, ohne dass Metadaten erforderlich sind, wie in der Ausnahme angegeben.
-
Gewähren Sie
SELECTPrivilegien aufmysql.procan den DatenbankbenutzerZum Beispiel in der mysql-Eingabeaufforderung:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';Dies würde es der Anwendung natürlich ermöglichen, die gesamte
mysql.proczu lesen Tabelle, die Informationen über alle enthält gespeicherte Prozeduren in alle Datenbanken (einschließlich Quellcode).