j'ai une procédure dans l'oracle pour déchiffrer le mot de passe avec un et un des paramètres. J'essaye d'appeler dans mon programme de Java comme suit mais il montre SQLGrammarException. Je suis nouveau à Oracle et essaye ceci pour la première fois. Désolé, j'ai cherché sur internet mais je n'ai rien trouvé. Dans le serveur SQL que j'utilisais comme ceci.procédures d'appel Oracle en java
Iterator it = hibernateSession.createSQLQuery("EXEC DAN_DANAPP_DECRYPPWD '" + username.getText().trim() + "'").list().iterator();
il travaillait dans le serveur SQL. Quand j'ai essayé la même chose dans Oracle, ça ne fonctionnait pas. Quelqu'un peut-il me repérer quelle erreur j'avais tenté.
Ma procédure Oracle est la suivante
CREATE OR REPLACE PROCEDURE DAN0703.DAN_DANAPP_DECRYPPWD
(EMPNO IN VARCHAR2,P_STRING OUT VARCHAR2)
IS
P_KEY_STRING VARCHAR2(12) := 'xxxxxxxxxxxx';
P_ERROR_NO NUMBER;
RAW_KEY RAW(128);
DECRYPTED_RAW RAW(2048);
BEGIN
RAW_KEY := UTL_RAW.CAST_TO_RAW(P_KEY_STRING);
select USER_PASSWD into P_STRING FROM MENU_USER WHERE USER_ID = EMPNO AND
USER_FLAG = 'O' and (USER_DISABLE_FLAG='N' or USER_DISABLE_FLAG='V');
DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT(INPUT => P_STRING, KEY => RAW_KEY,
DECRYPTED_DATA => DECRYPTED_RAW);
P_STRING := UTL_RAW.CAST_TO_VARCHAR2(DECRYPTED_RAW);
END;
Merci d'avance pour votre soutien.
utilisez-vous cadre de mise en veille prolongée ou JDBC simple? et qu'est ce que 'loginsession'? – Ravi
Désolé, j'ai oublié de mentionner. Oui, j'utilise le framework hibernate et c'est ma variable de session. – JavDev
createSQLQuery semble être deprectaed https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/query/QueryProducer.html#createSQLQuery-java.lang.String- – Ravi