Existují dva způsoby, jak to vyřešit:
-
nastavte u připojení hodnotu
noAccessToProcedureBodies=truevlastnostNapříklad jako součást připojovacího řetězce:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=trueOvladač JDBC pak vytvoří řetězce "INOUT" pro argumenty, aniž by vyžadoval metadata, jak říká výjimka.
-
Udělení
SELECToprávnění namysql.procuživateli databázeNapříklad ve výzvě mysql:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';To by samozřejmě umožnilo aplikaci číst celý
mysql.proctabulka, která obsahuje informace o všech uložené procedury ve všech databáze (včetně zdrojového kódu).