Existují dva způsoby, jak to vyřešit:
-
nastavte u připojení hodnotu
noAccessToProcedureBodies=true
vlastnostNapříklad jako součást připojovacího řetězce:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
Ovladač JDBC pak vytvoří řetězce "INOUT" pro argumenty, aniž by vyžadoval metadata, jak říká výjimka.
-
Udělení
SELECT
oprávnění namysql.proc
už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.proc
tabulka, která obsahuje informace o všech uložené procedury ve všech databáze (včetně zdrojového kódu).