0

一方の端に Java tomcat サーバーがあり、もう一方の端に mysql があります。バージョン 5.1.11 および 5.1.22 で試した mysql-connector-java を使用しています。mysql サーバーのバージョンは 5.5.26 です。

すべてのデータベースに対するセキュリティ上のリスクがあるため、mysql.proc テーブルに対するすべての権限を持っているわけではありません。

指定されたユーザー名とパスワードでmysqlにログインすると手順を実行できますが、Java(jdbc)から使用すると爆発します

java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irregardless of actual parameter types. 

私はmysqlが提供した提案を試し、jdbc接続URLで「noAccessToProcedureBodies = true」を使用しました。まったく役に立たなかった!違いはありません。(私が使用した jdbc 接続文字列の例を次に示します: jdbc:mysql://xxxxxx:xxxx/xxxx?noAccessToProcedureBodies=true&useInformationSchema=true )

http://bugs.mysql.com/bug.php?id=61203を読むと、コネクタにバグがあることがわかり、提案どおりに useInformationSchema=true を使用してみました。バグは修正されているはずですが、役に立たず、mysql-connector-java を更新しても役に立ちませんでした。

誰かがこれに直面しましたか?私は何か間違ったことをしていると思います。誰もがうまくいくはずだと言っていますが、私にとってはうまくいきません。

前もって感謝します!

4

2 に答える 2

1

検証していません...これを使用してください:SQL URLのuseInformationSchema = true。(noAccessToBodies を入れないでください)。

于 2013-01-15T19:22:03.643 に答える
0

私はMySQLサーバーのバージョンを持っています:5.1.52
私のSQLコネクタjar:mysql-connector-java-5.1.7-bin.jar
Tomcat:7.0.27.0
JDK 1.6.0.18

上記の問題は追加することで解決されnoAccessToProcedureBodies=true、私にとってはうまくいきます!

于 2013-01-16T05:07:12.700 に答える