본문 바로가기

데이타베이스(DB)/ORACLE

ORACLE 에러 - ORA-01465: 16진수의 지정이 부적합합니다

# 에러 메세지

- ORA-01465: 16진수의 지정이 부적합합니다

 

# 원인

- INSERT, UPDATE 하러는 컬럼의 TYPE이 BLOB인 경우 문자열인 값을 입력하려는 경우 발생

INSERT INTO TB_TEST (T_BLOB) VALUES ('TEST')

위의 쿼리를 실행하면 에러 발생

 

# 해결방법

- INSERT INTO TB_TEST (T_BLOB) VALUES (UTL_RAW.CAST_TO_RAW('TEST'))

위와 같이 쿼리를 실행하면 정상적으로 처리됨

UTL_RAW.CAST_TO_RAW 대신 RAWTOHEX 를 사용해도 된다.

 

# 추가사항

변환 저장된 문자열을 확인하려면 아래의 쿼리를 사용하면 된다.

SELECT UTL_RAW.CAST_TO_VARCHAR2(T_BLOB) FROM TB_TEST