원본입니다 : http://www.database.sarang.net/?aid=34497&criteria=oracle&id=34540&inc=read&keyword=&limit=20&page=32&subcrit=qna



DES 암호화/복화화를 위해 

암호화는 dbms_obfuscation_toolkit툴킷을 설치를해야한다.

1) SYS 유저로 아래의 스크립트를 실행

   @$ORACLE_HOME/rdbms/admin/dbmsobtk.sql
   @$ORACLE_HOME/rdbms/admin/prvtobtk.plb
   
2) 
권한을 부여

   SQL>GRANT execute ON dbms_obfuscation_toolkit TO public;  

을 실행하여 정상적으로 수행되었습니다.

그런데, 사용하려고 하면 아래와 같이 ORA-06553: PLS-307: too many declarations of 'DESENCRYPT' match this call이 발생하고 있습니다.

뭐가 잘못 됐는지...도움 부탁드립니다.감사합니다.

 

wmgapp1@[wmgapp:/home/wmgapp]sql_plus

SQL*Plus: Release 8.1.7.0.0 - Production on Mon Oct 6 14:00:06 2008

(c) Copyright 2000 Oracle Corporation.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning and Data Mining options

SQL> select svcmng_num,user_id,dbms_obfuscation_toolkit.DESEncrypt(user_id,'12345678') from mms_user_infos;
select svcmng_num,user_id,dbms_obfuscation_toolkit.DESEncrypt(user_id,'12345678') from mms_user_infos
                          *
ERROR at line 1:
ORA-06553: PLS-307: too many declarations of 'DESENCRYPT' match this call

이 글에 대한 댓글이 총 1건 있습니다.


@$ORACLE_HOME/rdbms/admin/dbmsobtk.sql

에 있는 raw 타입과 string 타입에 대해 function 이름이 같은 것으로 존재해서

충돌이 발생해서 ORA-06553: PLS-307: too many declarations of 'DESENCRYPT' match this call오류 메시지가 발생한것 같습니다.

raw 타입은 사용하지 않을것이어서 raw관련 함수/프로시저 부분을 삭제하고,

string관련 함수/프로시저만 두고 실행하니깐 정상적으로 수행이 되었습니다.

Posted by 야동우
,