Można to rozwiązać na dwa sposoby:
-
ustaw
noAccessToProcedureBodies=true
połączenia właściwośćNa przykład jako część ciągu połączenia:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
Sterownik JDBC utworzy następnie ciągi „INOUT” dla argumentów bez wymagania metadanych, jak mówi wyjątek.
-
Przyznaj
SELECT
uprawnienia wmysql.proc
do użytkownika bazy danychNa przykład w monicie mysql:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';
Oczywiście umożliwiłoby to aplikacji odczytanie całego pliku
mysql.proc
tabela zawierająca informacje o wszystkich procedury składowane w wszystkich bazy danych (w tym kod źródłowy).