ORA-06550: ligne 1, colonne 7: PLS-00201: identificateur 'PAYMENT_UPDATE" doit être déclarée ORA-06550: ligne 1, colonne 7: PL/SQL: Déclaration ignoré

J'ai une procédure pour insérer des valeurs dans un tableau et de mettre à jour les lignes d'une autre table. La procédure compilé sans erreurs. Si j'manuellement l'appeler dans PL/SQL codes, les tableaux sont mis à jour.

CREATE OR REPLACE PROCEDURE payment_update
      (bId IN number, pType IN varchar2, pAmt IN number )
AS
BEGIN
    INSERT INTO payment 
     VALUES (PID_SEQ.NEXTVAL,
              bId, 
              pType, 
              (SELECT CURRENT_DATE FROM DUAL),
              pAmt);
    UPDATE booking 
        SET payment_status = 'FP', 
          paid = pAmt
    WHERE booking_id = bId;
END;
/

Je suis en train d'appeler cette procédure stockée dans une classe Java, à travers le clic d'un bouton. L'utilisateur entre des valeurs dans un champ de texte de la GUI cadre, ces valeurs doivent être envoyés à la procédure stockée.

C'est mon code Java -

private void payButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          
    int i = unpaidJTable.getSelectedRow();
    int bookingId =Integer.parseInt(bIdText.getText());
    String pType = pTypeText.getText();
    double pAmt = Double.parseDouble(pAmtText.getText());
    CallableStatement callableStatement = null;
    String paymentUpdateRecord = "{call payment_update(?, ?, ?)}";
    try{
       callableStatement = conn.prepareCall(paymentUpdateRecord);
       callableStatement.setInt(1, bookingId);
       callableStatement.setString(2, pType);
       callableStatement.setDouble(3, pAmt);
       callableStatement.executeUpdate();
       conn.commit();
       System.out.println("Successfully updated!");
   }
    catch(SQLException e){
       System.out.println(e.getMessage());
   }

En cliquant sur ce bouton, j'obtiens une erreur collé au-dessus de la question.
Quelqu'un peut-il svp m'aider? Je ne peux pas comprendre ce que j'ai besoin de le déclarer.

  • Ne vous connectez au schéma correct ?
  • Oui, c'est corrigé pour le bon schéma.
  • je pense que votre problème est dans votre SGBD et pas avec Java vérifier ce lien experts-exchange.com/questions/21851939/...
  • Si vous vous connectez à un compte d'utilisateur qui n'est PAS le propriétaire du proc, vous devez créer des subventions et des synonymes pour la connexion de compte d'utilisateur sur l'élément. Tout cela pour dire que le compte d'utilisateur de votre application java est vous connectant à ne pas "savoir" à propos de la procédure stockée.
  • Avez-vous vérifié que l'utilisateur qui exécute le code ont l'autorisation d'exécuter la procédure? GRANT EXECUTE ON <procedure_name> <utilisateur>