PostgreSQL 포탈 템플릿 오류를 모르겠어요~
- 작성자 :
- 김*문
- 작성일 :
- 2018-02-22 00:06:39
- 조회수 :
- 13,500
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
3.5부터 PostgreSQL 삽질을 하고 있습니다만 참 어렵습니다. ^_^
차기 버전에는 PostgreSQL이 적용될거라고 해서 기다렸으나 아직 지원이 안되어 매우 아쉽습니다.
3.5때를 거슬러 3.7에서 포탈을 PostgreSQL로 수정을 하였으나 서버에서 실행 시 점부파일과 같이 "데이터 처리중 오류가 발생했습니다"라고 나옵니다.
매퍼파일들에 쿼리는 PostgreSQL에 맞춰서 수정했습니다.
콘솔에 나온 오류는 아래와 같습니다. DATE_FOARMAT을 보통 TO_CHAR로 수정하고 날짜와 시간 포멧을 바꿔 주었습니다만
오류가 납니다. ㅠ_ㅠ
2018-02-21 23:53:18,311 INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
2018-02-21 23:53:18,376 DEBUG [egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer] execute ExceptionTransfer.transfer
2018-02-21 23:53:18,382 DEBUG [egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer] RuntimeException case :: RuntimeException
2018-02-21 23:53:18,384 ERROR [egovframework.let.uss.olp.qri.service.impl.EgovQustnrRespondInfoServiceImpl] SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the QustnrRespondInfo.selectQustnrRespondInfoManage-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: org.postgresql.util.PSQLException: ERROR: function to_char(character, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Position: 146
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the QustnrRespondInfo.selectQustnrRespondInfoManage-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: org.postgresql.util.PSQLException: ERROR: function to_char(character, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
3.5부터 PostgreSQL 삽질을 하고 있습니다만 참 어렵습니다. ^_^
차기 버전에는 PostgreSQL이 적용될거라고 해서 기다렸으나 아직 지원이 안되어 매우 아쉽습니다.
3.5때를 거슬러 3.7에서 포탈을 PostgreSQL로 수정을 하였으나 서버에서 실행 시 점부파일과 같이 "데이터 처리중 오류가 발생했습니다"라고 나옵니다.
매퍼파일들에 쿼리는 PostgreSQL에 맞춰서 수정했습니다.
콘솔에 나온 오류는 아래와 같습니다. DATE_FOARMAT을 보통 TO_CHAR로 수정하고 날짜와 시간 포멧을 바꿔 주었습니다만
오류가 납니다. ㅠ_ㅠ
2018-02-21 23:53:18,311 INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
2018-02-21 23:53:18,376 DEBUG [egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer] execute ExceptionTransfer.transfer
2018-02-21 23:53:18,382 DEBUG [egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer] RuntimeException case :: RuntimeException
2018-02-21 23:53:18,384 ERROR [egovframework.let.uss.olp.qri.service.impl.EgovQustnrRespondInfoServiceImpl] SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the QustnrRespondInfo.selectQustnrRespondInfoManage-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: org.postgresql.util.PSQLException: ERROR: function to_char(character, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Position: 146
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the QustnrRespondInfo.selectQustnrRespondInfoManage-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: org.postgresql.util.PSQLException: ERROR: function to_char(character, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
A
안녕하십니까, 김태문님
표준프레임워크센터입니다.
먼저 표준프레임워크가 제공하는 스크립트는 MySQL,Altibase,Oracle,Tibero,Cubrid 5종을 제공하고 있습니다.
포스트그레스 SQL에 대한
QustnrRespondInfo.selectQustnrRespondInfoManage-InlineParameterMap.
이쪽 쿼리에 문제가 있습니다.
egovframework.let.uss.olp.qri.service.impl.EgovQustnrRespondInfoServiceImpl
여기서 function to_char(character, unknown) does not exist 에 대해 to_char 타입이 맞지 않아 에러가 발생하고 있습니다.
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Position: 146
힌트와 포지션도 나와있습니다.
postgresql로 할때 쿼리를 수정해줘야 하는데요 sql-map-config-postgresql-uss-olp-qri 파일에 쿼리에 보면
DATE_FORMAT(A.QUSTNR_BGNDE, '%Y-%m-%d') qestnrBeginDe,
DATE_FORMAT(A.QUSTNR_ENDDE, '%Y-%m-%d') qestnrEndDe,
가 있는데 보통 postgresql에서는 date_format를 to_cahr로 수정을해줍니다. 그런데
여기서는 QUSTNR_BGNDE가 char이라 그냥 아래와 같이 수정해주면 됩니다.
A.QUSTNR_BGNDE qestnrBeginDe,
A.QUSTNR_ENDDE qestnrEndDe,
감사합니다.
표준프레임워크센터입니다.
먼저 표준프레임워크가 제공하는 스크립트는 MySQL,Altibase,Oracle,Tibero,Cubrid 5종을 제공하고 있습니다.
포스트그레스 SQL에 대한
QustnrRespondInfo.selectQustnrRespondInfoManage-InlineParameterMap.
이쪽 쿼리에 문제가 있습니다.
egovframework.let.uss.olp.qri.service.impl.EgovQustnrRespondInfoServiceImpl
여기서 function to_char(character, unknown) does not exist 에 대해 to_char 타입이 맞지 않아 에러가 발생하고 있습니다.
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Position: 146
힌트와 포지션도 나와있습니다.
postgresql로 할때 쿼리를 수정해줘야 하는데요 sql-map-config-postgresql-uss-olp-qri 파일에 쿼리에 보면
DATE_FORMAT(A.QUSTNR_BGNDE, '%Y-%m-%d') qestnrBeginDe,
DATE_FORMAT(A.QUSTNR_ENDDE, '%Y-%m-%d') qestnrEndDe,
가 있는데 보통 postgresql에서는 date_format를 to_cahr로 수정을해줍니다. 그런데
여기서는 QUSTNR_BGNDE가 char이라 그냥 아래와 같이 수정해주면 됩니다.
A.QUSTNR_BGNDE qestnrBeginDe,
A.QUSTNR_ENDDE qestnrEndDe,
감사합니다.