목록오라클에러 (3)
말랑말랑제리스타일
Oracle DB에서 UNION, UNION ALL, MINUS 등 집합 연산을 하는 경우 "ORA-12704: 문자 집합이 일치하지 않습니다" 라는 에러가 발생할 수 있습니다. 그럼 이 ORA-12704 에러가 왜 발생하는지 알아보겠습니다. ORA-12704 의 발생원인 ORA-12704의 에러 문구에서도 짐작 가능하듯이 집합 연산의 대상이 되는 데이터 타입이 상이한 경우 ORA-12704 에러가 발생합니다. 주로 NVARCHAR2와 VARCHAR2를 집합연산 하는 경우 이 에러를 마주하게 됩니다. VARCHAR2와 NVARCHAR2의 차이 VARCHAR2는 데이터를 ASCII 코드 형태로 저장하고 NVARCHAR2는 UNICODE 형태로 저장합니다. 따라서 NVARCHAR2는 기본적으로 CHAR 단위..
간혹 가다가 발생하는 오라클 에러중 하나로 ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes 에러는 DBMS_OUTPUT.PUT_LINE 구문에서 주로 발생하는데 해석해보면 일단 20000 바이트 이상을 DBMS_OUTPUT에서 출력하는게 불가능하다는 뜻으로 DBMS_OUTPUT.PUT_LINE 구문을 실행하기 전 앞에다가 DBMS_OUTPUT.ENABLE(NULL); 한줄을 추가해주면 일시적으로 DBMS_OUTPUT의 버퍼를 늘려주고 전체 출력이 가능해집니다 추가로 현재 버퍼를 확인하려면 ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes 이 에러 중 20000bytes라고 되어있는 부분이 ..
Oracle Toad에서 보통 PL/SQL 프로시저 생성시 F5 키로 생성하곤 하는데요 개발자도 사람인지라 에러가 날때가 있습니다 그런 경우 이런식으로 Script Output에 Warning: compiled but with compilation errors 이라고 나오죠 프로시저가 생성되었으나 에러가 있다 (따라서 사용이 불가능하다) 대충 이런 의미로 해석하면 되는데 Oracle 쿼리를 Toad에서 F5로 실행하면 이 에러메세지만 나오기 때문에 어디서 에러가 났는지 찾기가 어려운 부분이 있습니다 이때 사용가능한게 F9 버튼으로 F5가 아닌 F9 버튼으로 Oracle 프로시저를 생성하게 되면 이런식으로 Toad의 Messages 창에 오라클 에러 코드와 Description이 나오고 스크립트에도 이런식..