Background Image

FORUM

조회 수 129 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Linux 64bit 
CUBRID Ver.
CUBRID 10.1 (10.1.3.7765-265e708) (64bit release build for Linux) (Aug 22 2019 11:52:23)
CUBRID TOOL Ver.
CUBRID Manager 10.1.0.0007  (64bit)
응용 환경(API)
java 등 입력

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


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


INSERT INTO cd001

(

TCKT_ID

, HIST_ORD

, EXT1_CD

, CRT_DT

, CRT_TM

, CRT_USR_ID

, MOD_DT

, MOD_TM

, MOD_USR_ID

)

values

(

  '20200210112858agent003'

, 1

, '0'

, to_char(sysdatetime, 'yyyymmdd')

, to_char(sysdatetime, 'hh24miss')

, 'agent003'

, to_char(sysdatetime, 'yyyymmdd')

, to_char(sysdatetime, 'hh24miss')

, 'agent003'

); {FAILED after 21 msec}

cubrid.jdbc.driver.CUBRIDException: Operation would have caused one or more unique constraint violations. INDEX pk_cd001(B+tree: 1|161792|161793) ON CLASS cd001(CLASS_OID: 0|223|21). key: {'20200210112835agent003', 1}(OID: 1|162194|87).[CAS INFO-172.17.0.241:30000,32,19799],[SESSION-7046],[URL-jdbc:cubrid:172.17.0.241:30000:ptcc:ptcc:********:?charset=UTF-8].


해당 오류가 간헐적으로 발생합니다.


오류 메세지에 나오는 키값은 이전에 사용했던 키값입니다.


쿼리는 신규키값으로 인서트를 하는데 오류는 이전 키값으로 오류가 나는건가요?


자동증가? 그것도 설정되어있지 않은 테이블이고 혹시 몰라서 테이블 삭제 후 신규생성을 해도 같은오류가 계속 나오네요.


큐브리드 매니저에서는 정상적으로 실행되는 쿼리입니다.

  • ?
    큐브리드_김주현 2020.02.13 09:17
    큐브리드를 이용해 주셔서 감사합니다.


    "오류 메세지에 나오는 키값은 이전에 사용했던 키값입니다". ==> 이전에 입력한 키값이라서 에러 발생되는 것입니다.

    "쿼리는 신규키값으로 인서트를 하는데 오류는 이전 키값으로 오류가 나는건가요?" ==> 신규 키값을 입력했는데 이전키값으로 insert되진 않습니다.

    위 에러 구문을 어디서 발췌하셨는지 모르겠지만, $CUBRID/log/sql_log에 보면 브로커별 수행한 질의문들이 있습니다.
    해당 위치는 브로커별 로 수행하는 질의문이 누적되는 경로입니다.

    테스트를 하시면서 브로커_sql문을 확인하시면서 코드단에서 binding값으 잘 못넘기는 것인지.. 아닌지를 해당 질의문에서 확인해 보시기 바랍니다.

    해당 파알에 binding값도 출력이 됩니다.

    감사합니다.
  • ?
    guloman 2020.02.13 10:28
    해당 증상과 동일한 증상이 나와서 말씀해 주신대로 브로커_sql문을 확인해봤습니다.
    바인딩된값은 정상적으로 들어갔습니다. 하지만

    execute_all error:-670 tuple 1 time 0.008, EID = 3

    에러가 나면서 롤백이되었습니다.

    쿼리 실행시 바인딩되었던 값으로 테이블을 조회해보면 KEY값이 중복되지 않습니다.
  • ?
    오명환 2020.02.13 13:17
    확인된 로그 부분 (바인드 값, 오류 메세지가 포함)을 올려주시면 답변드리는데 도움이 됩니다.
    해당 테이블에 trriger가 동작하는지도 확인부탁드립니다.
  • ?
    guloman 2020.02.17 10:41
    20-02-10 15:54:19.542 (190) execute_all srv_h_id 12 INSERT INTO ch001 ( tckt_id /*티켓ID*/ , cust_id /*고객ID*/ , call_id /*통화ID*/ , recd_id /*녹취키*/ , ref_id /*참조ID*/ , rcv_dt /*접수일자*/ , rcv_tm /*접수시간*/ , rcv_usr_id /*접수사용자ID*/ , ch_gb_cd /*접수채널구분*/ , sndr_cntct_infm /*연결전화번호*/ , call_gb_cd /*통화구분*/ , act_st_cd /*처리상태코드*/ , act_type_cd /*처리유형코드*/ , tckt_end_dt /*완료>일자*/ , tckt_end_tm /*완료시간*/ , act_lmt_dt /*처리한도일자*/ , ctg_lg_cd /*상담대분류코드*/ , ctg_md_cd /*상담중분류코드*/ , ctg_sm_cd /*상담소분류코드*/ , rdy_scnt /*>보류횟수*/ , suvy_yn /*설문조사여부*/ , cnsl_cs_vltn /*상담사례평가*/ , qst_cont /*문의내용*/ , act_cont /*처리내용*/ , agt_req_tm /*상담사요청시간*/ , call_strt_tm /*통화시작시간*/ , call_cnnct_tm /*상담시작시간*/ , call_end_tm /*통화종료시간*/ , acw_end_tm /*후처리시간*/ , crt_dt /*등록일자*/ , crt_tm /*등록시>간*/ , crt_usr_id /*등록자*/ , mod_dt /*수정
    일자*/ , mod_tm /*수정시간*/ , mod_usr_id /*>수정자*/ ) VALUES ( ? , ? , ? , ? , ? , to_char(sysdatetime, 'yyyymmdd') , to_char(sysdatetime, 'hh24miss') , ? , ? , ? , ? , ? , ? , '' , '' , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , to_char(sysdatetime, 'hh24miss') , to_char(sysdatetime, 'yyyymmdd') , to_char(sysdatetime, 'hh24miss') , ? , to_char(sysdatetime, 'yyyymmdd') , to_char(sysdatetime, 'hh24miss') , ? ); INSERT INTO cd001 ( TCKT_ID /*티켓ID*/ , HIST_ORD /*이력순서 */ , EXT1_CD /*확
    장코드1*/ , CRT_DT /*생성일자 */ , CRT_TM /*생성시>간 */ , CRT_USR_ID /*생성사용자ID*/ , MOD_DT /*수정일자 */ , MOD_TM /*수정시간 */ , MOD_USR_ID /*수정사용자ID*/ ) values ( ? , 1 , ? , to_char(sysdatetime, 'yyyymmdd') , to_char(sysdatetime, 'hh24miss') , ? , to_char(sysdatetime, 'yyyymmdd') , to_char(sysdatetime, 'hh24miss') , ? );
    20-02-10 15:54:19.542 (190) bind 1 : VARCHAR (23)20200210155420agent003
    20-02-10 15:54:19.542 (190) bind 2 : VARCHAR (6)35148
    20-02-10 15:54:19.542 (190) bind 3 : VARCHAR (1)
    20-02-10 15:54:19.542 (190) bind 4 : VARCHAR (5)2007
    20-02-10 15:54:19.542 (190) bind 5 : VARCHAR (1)
    20-02-10 15:54:19.542 (190) bind 6 : VARCHAR (9)agent003
    20-02-10 15:54:19.543 (190) bind 7 : VARCHAR (6)11000
    20-02-10 15:54:19.543 (190) bind 8 : VARCHAR (1)
    20-02-10 15:54:19.543 (190) bind 9 : VARCHAR (2)1
    20-02-10 15:54:19.543 (190) bind 10 : VARCHAR (7)010000
    20-02-10 15:54:19.543 (190) bind 11 : VARCHAR (7)010000
    20-02-10 15:54:19.543 (190) bind 12 : VARCHAR (1)
    20-02-10 15:54:19.543 (190) bind 13 : VARCHAR (10)007000000
    20-02-10 15:54:19.543 (190) bind 14 : VARCHAR (10)007004000
    20-02-10 15:54:19.543 (190) bind 15 : VARCHAR (10)007004005
    20-02-10 15:54:19.543 (190) bind 16 : INT 0
    20-02-10 15:54:19.543 (190) bind 17 : VARCHAR (2)N
    20-02-10 15:54:19.543 (190) bind 18 : VARCHAR (2)4
    20-02-10 15:54:19.543 (190) bind 19 : VARCHAR (7)공원
    20-02-10 15:54:19.543 (190) bind 20 : VARCHAR (8)답변

    20-02-10 15:54:19.543 (190) bind 21 : VARCHAR (1)
    20-02-10 15:54:19.543 (190) bind 22 : VARCHAR (7)155420
    20-02-10 15:54:19.543 (190) bind 23 : VARCHAR (7)155420
    20-02-10 15:54:19.543 (190) bind 24 : VARCHAR (7)155420
    20-02-10 15:54:19.543 (190) bind 25 : VARCHAR (9)agent003
    20-02-10 15:54:19.543 (190) bind 26 : VARCHAR (9)agent003
    20-02-10 15:54:19.543 (190) bind 27 : VARCHAR (23)20200210155420agent003
    20-02-10 15:54:19.543 (190) bind 28 : VARCHAR (2)0
    20-02-10 15:54:19.543 (190) bind 29 : VARCHAR (9)agent003
    20-02-10 15:54:19.543 (190) bind 30 : VARCHAR (9)agent003
    20-02-10 15:54:19.550 (190) execute_all error:-670 tuple 1 time 0.008, EID = 3
    20-02-10 15:54:19.578 (0) end_tran ROLLBACK
    20-02-10 15:54:19.579 (0) end_tran 0 time 0.000
    20-02-10 15:54:19.579 (0) *** elapsed time 0.036

    오류부분 로그입니다.
    해당 테이블에 트리거는 사용하지 않고 있습니다.
  • ?
    오명환 2020.02.17 12:54
    올려주신 로그를 확인해보니, insert 질의 2개를 한번 수행하는 것으로 되어 있는데, 2번째 질의가 무시됩니다.
    응용프로그램에 2개의 질의를 분리해서 각각 수행하도록 수정해주세요.
    CM에서는 응용프로그램이 내부적으로 분리해서 각각 수행하는 것입니다.

    수정 후에도 unique 오류가 발생하면 pk 또는 unique key 정보로 함께 올려주세요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 478
3139 COUNT 함수 1 file 현수 2020.05.06 66
3138 HA 구성시 MASTER 서버 접속 실패 상황 1 nagh 2020.05.06 103
3137 큐브리드 매니저 연결시 - 빈번하게 remote host closed connection during handshake 이란 오류가 발생 합니다. 6 마이클 2020.05.06 413
3136 Mac OS CUBRID 매니저 Remote host closed connection during handshake 오류 1 오충 2020.05.04 53
3135 Failback 하는 방법 좀 알려 주세요. 1 Philip Park 2020.04.28 47
3134 Cubrid ha master slave 확인 어떻게 하나요? 5 file Philip Park 2020.04.27 61
3133 큐브리드 with rollup 결과row에 null이 나오는데 이 null을 변경할수 있을까요? 1 file dkkdkdkdkdk 2020.04.24 34
3132 큐브리드 날자 변환 저장 방법문의 2 파랑조아유 2020.04.24 47
3131 csql 출력 결과 string '' 제거 및 구분자 표시 방법 4 nagh 2020.04.23 67
3130 csql interpreter에서 \(역슬래쉬) 사용 문제 2 nagh 2020.04.21 34
3129 SELECT 전체 갯수에 대해 질문 드리겠습니다. 1 훈입니다. 2020.04.17 48
3128 프로시저 클래스 등록 관련입니다. 1 mon 2020.04.16 36
3127 INSERT 한글 깨짐 관련 질문 드립니다. 1 마이클 2020.04.16 52
3126 리눅스 파이썬에서 큐브리드 연동 배수민 2020.04.14 74
3125 릴리즈된 10.1.0.0004 ADO.NET 드라이버를 다운받을수 없습니다. 2 file Js 2020.04.14 30
3124 쿼리문으로 컬럼의 데이터 타입을 구할 수 있나요? 3 mon 2020.04.13 42
3123 케릭터셋 문제입니다. 1 훈입니다. 2020.04.13 51
3122 마지막 공백 인식 문제입니다. 2 mon 2020.04.10 54
3121 파일에서 읽어 저장 2 현수 2020.04.09 45
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 163 Next
/ 163

Contact Cubrid

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