Windowsのoracle 11g 32bit
で、AESで暗号化されたフィールドを復号化しようとしているのですが、エラーがでて
SQLの結果がでません。
これを回避するにはどうしたらよいでしょうか。
下記のSQLは、UTL_I18N.RA...の部分を除くとちゃんと結果が帰ってきます。
SELECT MST_USER.user_id, MST_USER.login_id, MST_USER.password, MST_USER.access_id, MST_USER.group_id, MST_USER.auth_lock_flag,
UTL_I18N.RAW_TO_CHAR(
DBMS_CRYPTO.DECRYPT(
src => MST_USER.user_name,
typ => 8 + 256 + 4096,
key => UTL_I18N.STRING_TO_RAW(RPAD('xxxx',32, CHR(0)), 'AL32UTF8')
), 'AL32UTF8')
as user_name FROM MST_USER LEFT JOIN TBL_STORE ON TBL_STORE.user_id = MST_USER.user_id LEFT JOIN MST_COMPANY ON MST_COMPANY.company_kameiten_id = MST_USER.company_kameiten_id AND MST_COMPANY.status < 91 LEFT JOIN MST_STORE ON MST_STORE.store_kameiten_id = TBL_STORE.store_kameiten_id AND MST_STORE.status < 91 WHERE MST_USER.login_id = 'admin' AND MST_USER.status < 91 AND ( ((MST_USER.access_id = '6' OR MST_USER.access_id = '7') AND MST_COMPANY.status < 91 AND MST_STORE.status < 91) OR (MST_USER.access_id = '5' AND MST_COMPANY.status < 91) OR (MST_USER.access_id = '4' AND MST_STORE.status < 91) OR (MST_USER.access_id < '4' OR MST_USER.access_id = '8') )
;
ORA-28817: PL/SQLファンクションからエラーが戻されました。
ORA-06512: "SYS.DBMS_CRYPTO_FFI", 行67
ORA-06512: "SYS.DBMS_CRYPTO", 行44
ORA-06512: 行1
回答1件
あなたの回答
tips
プレビュー