헤르메스 LIFE

[Oracle] ORA-28817 : PL/SQL 함수가 오류를 반환했습니다. 본문

Exception

[Oracle] ORA-28817 : PL/SQL 함수가 오류를 반환했습니다.

헤르메스의날개 2013. 7. 24. 14:08
728x90

ORA-28817 : PL/SQL 함수가 오류를 반환했습니다.

ORA-06512 : "SYS.DBMS_CRYPTO_FFI", 줄 67에서

ORA-06512 : "SYS.DBMS_CRYPTO", 줄 41에서

ORA-06512 : "USER.PKG_CRYPTO_AES", 줄 63에서




원인 : ORACLE 복호화 하는 중 복호화를 못해서 발생한 오류임.


해결 1. 

Encoding이 잘못된 경우


V_KEY_DATA_RAW := UTL_I18N.STRING_TO_RAW(V_DATABASE_KEY, 'AL32UTF8');

                 

DECRYPTED_RAW :=  DBMS_CRYPTO.DECRYPT(SRC => utl_encode.base64_decode(utl_raw.cast_to_raw(I_INPUT_STRING)), TYP => DBMS_CRYPTO.ENCRYPT_AES128 + DBMS_CRYPTO.CHAIN_ECB+ DBMS_CRYPTO.PAD_PKCS5, KEY => V_KEY_DATA_RAW);                                                                             

CONVERTED_STRING :=  UTL_I18N.RAW_TO_CHAR(DECRYPTED_RAW, 'AL32UTF8');  -- RAW -> CHAR 타입으로 변환하여 RETURN


해결 2.

복호화 해야할 데이터가 잘못 된 경우


정상적으로 암호화된 데이터가 아니면 복호화 시 오류를 발생한다.


해결 3.

Package 프로시져가 잘못된 경우


이 경우는 프로시져를 자~~알 확인해야징...




728x90