これを解決するには2つの方法があります:
-
接続の
noAccessToProcedureBodies=trueを設定します プロパティたとえば、接続文字列の一部として:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true次に、JDBCドライバーは、例外のようにメタデータを必要とせずに、引数の「INOUT」文字列を作成します。
-
SELECTを付与するmysql.procの権限 データベースユーザーへたとえば、mysqlプロンプトの場合:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';もちろん、これにより、アプリケーションは
mysql.proc全体を読み取ることができます。 すべてに関する情報を含むテーブル すべてのストアドプロシージャ データベース(ソースコードを含む)。