Background Image

FORUM

조회 수 433 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1274 테이블 단위 export 2 bchlim 2020.06.16 444
1273 HA STATUS상에 이상한 오류 문구.. 1 라면 2017.07.14 442
1272 특정 컬럼 order by 시 한글 > 숫자 > 영문 순으로 정렬 방법? 2 Qubrid 2022.12.01 442
1271 ado.net 사용하여 테스트중인데 오류 발생하여 문의 남깁니다 3 file 제무다 2018.06.29 441
1270 cubrid 설치 쉘스크립트 실행 시 오류 1 asdf5062 2018.03.23 440
1269 리눅스 파이썬에서 큐브리드 연동 배수민 2020.04.14 439
1268 cubrid driver 설치 문의 1 고구망구망 2023.05.08 438
1267 cubrid migration toolkit / CLOB 인코딩 이슈 해결방안 문의 (해결) 2 키롱 2022.11.18 434
1266 큐브리드 실행시 다중검색어 like 처리를 하고싶습니다 1 개발자1111 2021.02.05 434
1265 인덱스 함수 생성 문의 1 후후후후후후후후 2021.09.01 433
» unique constraint violations 문의 5 guloman 2020.02.10 433
1263 cubrid manager 실행이 안됨 5 file 푸른호랑이 2021.11.28 432
1262 cubrid manager 컬럼 데이터 합치기 4 ohgeumjin 2020.07.28 431
1261 Docker에 설치된 큐브리드에서 cubrid server stop이 안됩니다. 4 새옹지마 2021.06.13 431
1260 큐브리드 디비 구성관련 문의 1 질주하는구 2017.07.21 430
1259 TO_DATETIME 함수 문의 드립니다. 2 풍류인생 2020.12.29 430
1258 생성된 db에 사용자와 스키마 추가하는 법(큐브리드매니저, csql 인터프리터 사용x) 9 도우너19 2022.02.15 430
1257 MS-SQL 에서 varbinary사용하는걸 큐브리드에서는 어떻게 사용하는지요? 1 펌피 2017.09.25 429
1256 select문 실행시 칼럼명 구분콤마( , )가 없을때, 앞 칼럼의 데이터가 뒤 칼럼명의 데이터로 나오는 현상 2 유진욱 2019.07.23 429
1255 테이블 및 인덱스의 생성시간을 알고 싶습니다. 1 천찬왕구휘 2019.06.13 427
Board Pagination Prev 1 ... 132 133 134 135 136 137 138 139 140 141 ... 200 Next
/ 200

Contact Cubrid

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