2021년 7월 5일 월요일

POSTGRESQL Error: Column <대문자 컬럼> does not exist in table <대문자 테이블>

SAP PO 인터페이스 프로젝트를 하다보면 여러 DB와 연계하는 작업을 할것입니다. 그중에 일반적으로 사용되는 DB는 오라클과 MS-SQL로 알고 있는데 얼마전에 POSTGRESQL과 연계작업을 하면서 다른DB에서 볼수 없는 에러를 보게 되었습니다.

보통 타겟 DB의 대소문자 컬럼에 대해 신경 안쓰고 정의서대로 개발을 진행했었는데요. POSTGRESQL에서는 아래와 같이 에러가 발생되었던적이 있습니다.

"java.sql.SQLException: FATAL ERROR: Column <대문자 컬럼> does not exist in table <대문자 테이블>"

이에러의 해결과정으로 테이블을 보니 소문자 테이블, 컬럼으로 구성되어있었으며 PO의 DataType의 대문자로 된 필드들을 소문자로 변경후 정상적으로 처리가 되었습니다. 테이블은 대소문자 영향을 안받는것 같군요.

추가로 해당DB에 확인했을때
postgreSQL에서는 기본이 소문자고 실행되는 쿼리로 소문자로 변환해야한다고 합니다. 만약 대문자를 사용하고 싶다면 쌍따옴표("")로 감싸주면 된다고 합니다.

그외 추가적인 에러로
"org.postgresql.util.PSQLException: ERROR:permission denied for relation <테이블>"
이런 에러가 발생되었지만 레거시쪽에서 해결해주어야할 부분같습니다.

댓글 없음:

댓글 쓰기