sql >> Database >  >> RDS >> Mysql

Kan een MySQL-opgeslagen procedure niet uitvoeren vanuit Java

Er zijn twee manieren om dit op te lossen:

  1. stel de noAccessToProcedureBodies=true . van de verbinding in eigendom

    Bijvoorbeeld als onderdeel van de verbindingsreeks:

    jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
    

    Het JDBC-stuurprogramma maakt dan "INOUT"-tekenreeksen voor de argumenten zonder dat metagegevens nodig zijn, zoals de uitzondering zegt.

  2. Grant SELECT privileges op mysql.proc naar de databasegebruiker

    Bijvoorbeeld in de mysql-prompt:

    GRANT SELECT ON mysql.proc TO 'user'@'localhost';
    

    Dit zou de applicatie natuurlijk in staat stellen om de hele mysql.proc . te lezen tabel met informatie over alle opgeslagen procedures in alle databases (inclusief broncode).



  1. Over de impact van paginagrote schrijfacties

  2. MySQL - Deelnemen aan 2 tabellen

  3. Hoe krijg ik een tabelscript in Oracle SQL Developer?

  4. Mijn Select SUM-query retourneert null. Het zou 0 . moeten retourneren