Background Image

FORUM

조회 수 432 추천 수 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 21
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4452
911 Oracle XMLAGG 함수의 유사 기능 질문드립니다. 1 jyheo 2019.01.14 703
910 Oracle SQL 을 Cubrid SQL 로 컨버젼 툴 문의 1 홍가 2014.06.26 22573
909 Oracle SQL to Cubrid SQL 1 적막한밤 2014.07.30 6159
908 Oracle REGEXT 함수 지원하나요? 2 cyber 2013.03.25 11272
907 Oracle ==> Cubrid 진행 중입니다. 1 Philip Park 2020.04.08 142
906 Oracle -> Cubrid Migration 시 문제 문의드립니다. 1 바보똥개 2017.05.25 3857
905 Oracle --> Cubrid 쿼리 변경 질문입니다! 3 잘하자! 2016.06.01 11068
904 Operation would have caused one or more unique constraint violations. 1 곰팅팅이 2016.03.30 9742
903 Openssl 취약점 패치 문의 2 아스페리타스 2020.12.11 150
902 On-line 상태에서 Volume 추가 안되는 문제 2 브이찾기 2016.05.17 7495
901 Oledb 문자열 값 가져오기 실패 문의입니다. 4 콩이아부지 2013.03.11 11088
900 OleDbCommand 를 사용하는데 다음 같은 에러가 발생합니다. 3번째 2 hades 2008.12.10 19126
899 OleDbCommand 를 사용하는데 다음 같은 에러가 발생합니다. 2번째.. 1 hades 2008.12.10 20812
898 OleDbCommand 를 사용하는데 다음 같은 에러가 발생합니다. 2 file hades 2008.12.10 22366
897 OUTER JOIN 관련해서 질문 드립니다. 2 이석희 2009.04.14 15977
896 ORDERBY_NUM() 사용시 rownum 번호가 순서대로 출력이 안됩니다. 3 개발장 2014.11.06 19411
895 ORDER BY RANDOM() 1 소라게 2013.07.29 11882
894 ORDER BY ** ASC 조건과 offset 조건이 같이 있을 경우 발생되는 오류 문의 7 file 충이 2019.05.22 298
893 ORACLE의 STRING_AGG와 같은 기능을 하는 함수 구현 관련 2 ihyeon0214 2021.10.14 424
892 ORACLE의 DBMS_XMLGEN.GETXMLTYPE를 CUBRID 변형 방법 요청 1 Rkakrnl 2019.05.16 738
Board Pagination Prev 1 ... 150 151 152 153 154 155 156 157 158 159 ... 200 Next
/ 200

Contact Cubrid

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