개발/DB

[DB / Tibero / JDBC-5072 / Failure converting NUMBER to or from a native Type]

터틀넥 2022. 7. 15. 11:11

ER-WIN에서 외래키 설정을 잘못하는 바람에 기존에 작성한 스키마들을 모두 날려야하는 상황이 생겼다.

 

그래서 데이터 삭제하고 Casecade 걸고 모두 다 삭제 하면 되겠지? 하고 쿼리 실행을 눌렀는데 오류가 발생했다.

 

JDBC-5072 : Failure converting NUMBER to or from a native Type.

 

쿼리 실행하기 전에 분명히 데이터도 다 날리고 delete를 실행 했는데 뭘까...

 

구글링을 해보니 티베로 오류라고 한다.

(역시... 구글이 최고의 선생님이다...)

 

원인은 _DD_TBL 테이블의 ROW_CNT가  NUMBER가 아닌 Null로 설정되어있기 때문에 오류가 나타난 것이다.

 

✅  Solution

1. Sys내의 테이블을 수정해야 하는 작업이므로, root 계정에 접속하여 작업을 진행한다.

 

 

2. 오류가 난 테이블의 object_id를 검색한다.

select object_id from dba_objects where object_name = (table_name);

 

3. 찾은 object_id를 기준으로 row_cnt를 0으로 세팅한다.

update sys._dd_tbl set row_cnt = 0 where obj_id = (검색된 object id);

 

4. 삭제하고자 하는 테이블의 소유 계정에 접속 후 테이블을 삭제한다.

drop table (테이블명);

 

✅  후기(?)

다행이도, 위 방법을 통해 table을 삭제할 수 있었다.

 

오라클 쓸땐, 이런 문제가 없었는데 티베로를 사용할 땐 종종 이런 원인 모를 이유가 자주 발생한다.

 

그리고 오라클은 참조할 수 있는 레퍼런스가 많은데 티베로는 사용하는 기업들이 적다보니, 그에 따른 레퍼런스가 부족하다...

 

그럼에도 공부할 수 있는 기회가 많아져서 좋은 것 같긴하다. 하지만 경우가 너무 많다보니 업무 진행 속도가 느려지는건 좀 우려스럽다...😩

 

다음엔 티베로에 대한 글을 한번 써 봐야겠다.

 

암튼 잘 해결되서 다행! 👏👏👏

'개발 > DB' 카테고리의 다른 글

[DB / Oracle / Table 저장 데이터 용량 확인]  (0) 2023.01.30
[DB / SQL / 다중 행 가로 출력]  (0) 2022.12.04