Có hai cách để giải quyết vấn đề này:
-
đặt
noAccessToProcedureBodies=truecủa kết nối tài sảnVí dụ như một phần của chuỗi kết nối:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=trueSau đó, trình điều khiển JDBC sẽ tạo chuỗi "INOUT" cho các đối số mà không yêu cầu dữ liệu meta như ngoại lệ nói.
-
Cấp
SELECTđặc quyền trênmysql.proccho người dùng cơ sở dữ liệuVí dụ trong lời nhắc mysql:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';Tất nhiên, điều này sẽ cho phép ứng dụng đọc toàn bộ
mysql.procbảng chứa thông tin về tất cả các thủ tục được lưu trữ trong tất cả cơ sở dữ liệu (bao gồm cả mã nguồn).