Background Image

FORUM

조회 수 2706 추천 수 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 119
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4475
3840 전송 연결 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다 1 바람바람 2013.04.12 20698
3839 java.lang.ClassNotFoundException: cubrid.jdbc.dirver.CUBRIDDriver 에러에 관한문의 4 삽질중 2009.05.12 20670
3838 윈도우7+iis(7.5)+php5+cubrid에 xe 설치 후에 초기하면에 빨간색 글들. 1 Hyuk-kwony 2009.12.26 20651
3837 MySQL의 LOAD DATA INFILE 기능은 CUBRID에 없나요? 4 공기청정기 2009.05.13 20624
3836 큐브리드 deb 패키징중... 8 강분도 2009.03.19 20578
3835 jdbc 사용중 테이블 데이터 입력문제 2 Dezert 2011.12.22 20502
3834 rownum은 order by에 영향을 안 받네요 2 안지민 2009.03.04 20485
3833 델파이 등 4GL 언어에서 사용할 수 있는 인터페이스는 없나요? 1 이상탁 2009.05.27 20386
3832 백업시 lgar 파일이 지워지지 않는 문제 6 동현 2011.06.11 20360
3831 attempt to exceed the maximum allowed nesting level(400) 에러 문의 finkle 2016.11.24 20342
3830 HA 문의 드립니다. 5 뽀로꾸 2011.05.26 20226
3829 큐브리드에 데이타 타입 지정문제 4 지니보이 2009.12.26 20203
3828 테이블 목록확인 (show tables) 방법 문의 3 mkengnr 2011.09.20 20193
3827 HTML 게시판 작성후 데이타베이스 연결 방법? 4 하늘과땅 2011.12.09 20151
3826 java.lang.ClassNotFoundException 에러가 납니다. 3 코딩셔틀 2010.11.03 20114
3825 C++(MFC 아님)에서 프로그래밍 작성을 하려면 어떤것을 사용해야 하나요? 6 나동호 2009.03.24 20053
3824 cannot communicate with the broker 7 차가워여 2009.09.28 20008
3823 에러 코드 질문 드립니다. 1 빵돌이 2009.05.02 19977
3822 select @@identity 1 펭귄 2009.06.27 19897
3821 MS949를 UTF-8 변경 방법 1 혀니짱 2011.03.25 19850
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 200 Next
/ 200

Contact Cubrid

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