sql >> Database teknologi >  >> RDS >> Mysql

Kan ikke udføre en MySQL-lagret procedure fra Java

Der er to måder at løse dette på:

  1. sæt forbindelsens noAccessToProcedureBodies=true ejendom

    For eksempel som en del af forbindelsesstrengen:

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

    JDBC-driveren vil derefter oprette "INOUT"-strenge for argumenterne uden at kræve metadata, som undtagelsen siger.

  2. Giv SELECT privilegier på mysql.proc til databasebrugeren

    For eksempel i mysql-prompten:

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

    Dette ville selvfølgelig give applikationen mulighed for at læse hele mysql.proc tabel, der indeholder oplysninger om alle gemte procedurer i alle databaser (inklusive kildekode).



  1. MYSQL:Hvordan kan jeg finde 'sidste mandags dato' (performance Issue)

  2. Konvertering af tal til ord i MYSQL-resultat! Brug af Query

  3. Postgres - den sidste version 0.14.0 af pg gem giver fejl

  4. Hvordan afrundes til nærmeste X minutter med PL/pgSQL?