Background Image

FORUM

조회 수 2701 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
리눅스 64비트
CUBRID Ver.
10.1.1.7691 
CUBRID TOOL Ver.
10.0.0.1
응용 환경(API)
JAVA

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------


전자정부 + mybatis + 큐브리드 10.1 사용중입니다.


#{aaa , jdbcType=VARCHAR} 쪽에서 일부 에러가 나길래 


쿼리를 훑어보니까 아래처럼 사용한 데서만 에러가 발생했습니다.


파라미터는 map<String,Object> 형식으로 담아오고 담을 때 값은 String입니다.


SELECT

CASE WHEN TEMP.CHG_TYPE = 'UP'   << 요기

THEN ... 생략 

END AS COLNAME

FROM

(

SELECT

              SUB_DATA3.SYSTEM_CD                      AS SYSTEM_CD

              , #{chgType, jdbcType=VARCHAR}       AS CHG_TYPE  

FROM 

  ( ... 생략 ) 

) TEMP 



위에 표시해놓은 비교 부분에서 에러가 나던데 


오라클에서는 에러가 없는 부분이라 큐브리드는 데이터 형식 처리가 다른건가요.


오라클 드라이버랑 차이점이 있는건지 궁금합니다.


저 'UP'이라고 된 부분을 함수 사용해서 UPPER('UP') 이런 식으로 바꾸면 에러가 안나는 상황이구요.


에러는 다 치환해서 해결하면 될 것 같긴 한데 원인이 궁금해서 문의 드립니다.

  • ?
    오명환 2018.04.10 10:08
    문의하신 내용만으로 어떤 문제인지를 확인하기 어렵습니다.
    cubrid 서버의 $CUBRID/log/broker/sql_log 아래에 있는 로그 파일들 중에서 실행하신 mybatis 질의가 어떤 질의로 바뀌었는지 확인을 해 보시는 것이 좋을 것 같습니다.

    현재 오류는 임의적으로 character data type을 원하시는 data type으로 변경할 수 없다는 오류입니다.
    로그에서 찾으신 질의를 가지고 csql 또는 cubrid manager에 수행해보시면서 확인을 부탁드립니다.
  • ?
    잉여개발자 2018.04.10 17:34

    간단한 쿼리로 테스트하려고 바꾸고 돌려보니

    18-04-10 17:30:43.687 (9) execute_all srv_h_id 1
    SELECT (CASE WHEN TMP.A = 'UP' THEN 'Y' ELSE 'N' END) AS SHOW
    FROM (
    SELECT ? as A
    FROM
    DB_ROOT
    ) AS TMP

    18-04-10 17:30:43.687 (9) bind 1 : VARCHAR (10)SYST_0002
    18-04-10 17:30:43.689 (9) execute_all error:-181 tuple 0 time 0.001, EID = 9

    로그는 이거만 남네요.

  • ?
    오명환 2018.04.11 09:36
    -181 오류메세지는 Cannot coerce value of domain character to domain " 입니다.
    보내주신 질의를 보니, db_root에서 ? 에 의해 결정된 값을, 상위에 select에서 사용하다 보니 query execute 시에 type 결정(variable)을 못합니다.
    이런 경우에는 명시적으로 type를 아래와 같이 정의해주시면 됩니다.

    SELECT cast(? as varchar) as A
    FROM
    DB_ROOT
  • ?
    잉여개발자 2018.04.11 10:57
    캐스팅 지정 해줘야하는군요 감사합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 50
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3774 테이블 생성시 REUSE_OID 옵션끄기 문의드립니다 1 원샷 2024.01.25 95
3773 테이블 생성시 PRIMARY KEY 2개일때 오류 3 서영신 2011.11.23 23818
3772 테이블 생성, 삭제, 백업 등이 되지 않습니다. 2 sugarkane 2011.10.06 7635
3771 테이블 생성 시 질의 오류 6 ots21 2021.05.12 218
3770 테이블 생성 시 디폴드 값 상이 함 문의 1 joke7 2016.02.17 8087
3769 테이블 생성 불가 문의 5 secret joke7 2016.01.15 18
3768 테이블 생성 문의 1 지삭낭언 2010.06.09 9338
3767 테이블 삭제시 오류에 대하여... 2 메이커스 2009.08.01 10623
3766 테이블 삭제시 복구 방법 1 mimo 2020.06.23 1140
3765 테이블 삭제가 안됩니다. 3 소금인형 2016.09.02 13907
3764 테이블 분할 후 검색 권한 문의 1 종이 2013.06.06 6829
3763 테이블 복사 1 ohgeumjin 2020.06.03 448
3762 테이블 복구 문의합니다. 1 찌후맘 2014.12.11 6862
3761 테이블 복구 1 mydream 2010.02.26 10544
3760 테이블 별 캐릭터셋 확인 1 chocob 2015.07.22 6355
3759 테이블 및 컬럼 코멘트 등록을 위한 테이블 스키마 정보 문의 1 nilriri 2013.08.09 10695
3758 테이블 및 인덱스의 생성시간을 알고 싶습니다. 1 천찬왕구휘 2019.06.13 427
3757 테이블 목록확인 (show tables) 방법 문의 3 mkengnr 2011.09.20 20185
3756 테이블 목록을 뽑고 싶습니다. 1 아워나 2013.10.17 13114
3755 테이블 명이 동일한 상태에서 효율적인 처리 방법 문의 1 최명호 2014.12.23 4898
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales