Background Image

FORUM

조회 수 205 추천 수 0 댓글 15
?

단축키

Prev이전 문서

Next다음 문서

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


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Linux
CUBRID Ver.
9.3 (9.3.6. 0002) 
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
Java


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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

안녕하세요.

Merge 쿼리 실행 중 발생한 오류 Cubrid Data Type Error 에러 관련해서  도움을 구하고자 문의 드립니다.

 

현재 데이터를 List로 받아서 Merge 쿼리를 통해 UPDATE 또는 INSERT를 진행하는 쿼리를 실행하려고 했습니다만 다음과 같은 오류가 발생했습니다.

 

org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-456];   
--- The error occurred while applying a parameter map.  
--- Check the EhojoToCubridServiceDAO.updateTcmCtrtbooks-InlineParameterMap.  
--- Check the statement (update failed).  
--- Cause: cubrid.jdbc.driver.CUBRIDException: Data type references are incompatible.

 

쿼리를 실행하는 도중 데이터타입이 맞지 않다는 오류인 것 같아 다시 살펴보았으나, 제가 보기에는 문제가 없는것으로 생각됩니다. 

 

실행한 쿼리는 다음과 같으며, 테이블의 DDL, 사용한 VO를 첨부하였습니다. 혹시 제가 쿼리를 잘못 사용한게 있을까요?

 

<update id="MethodName" parameterClass="java.util.List">
        MERGE INTO V_TCM_CTRTBOOKS AS A
        USING (
            <iterate prepend="VALUES" conjunction=",">
                (
                #[].lafCd# AS "LAF_CD",
                #[].ctrtLdgrMngNo# AS "CTRT_LDGR_MNG_NO",
                #[].atflGrpId# AS "ATFL_GRP_ID",
                #[].fyr# AS "FYR",
                #[].expsDvCd# AS "EXPS_DV_CD",
                #[].pcurDvCd# AS "PCUR_DV_CD",
                #[].ctrtKndCd# AS "CTRT_KND_CD",
                #[].ctrtMthCd# AS "CTRT_MTH_CD",
                #[].ctrtTyDtsCd# AS "CTRT_TY_DTS_CD",
                #[].newLtmDvCd# AS "NEW_LTM_DV_CD",
                #[].cprtCtrtDvCd# AS "CPRT_CTRT_DV_CD",
                #[].ctrtTrgtNm# AS "CTRT_TRGT_NM",
                #[].ctrtOtlnCn# AS "CTRT_OTLN_CN",
                #[].lctnNm# AS "LCTN_NM",
                #[].ctrtNo# AS "CTRT_NO",
                #[].pcurMngNo# AS "PCUR_MNG_NO",
                #[].pcurChrgDeptNm# AS "PCUR_CHRG_DEPT_NM",
                #[].cgpTelno# AS "CGP_TELNO",
                CAST(#[].pcurFee# AS NUMERIC(20,0)) AS "PCUR_FEE",
                #[].podrDvCd# AS "PODR_DV_CD",
                CAST(#[].frstSmzCtrtAmt# AS NUMERIC(20,0)) AS "FRST_SMZ_CTRT_AMT",
                CAST(#[].smzCtrtTottAmt# AS NUMERIC(20,0)) AS "SMZ_CTRT_TOTT_AMT",
                #[].smzCtrtYmd# AS "SMZ_CTRT_YMD",
                #[].bgcsYmd# AS "BGCS_YMD",    
                #[].cmcnYmd# AS "CMCN_YMD",
                #[].cmcnScdYmd# AS "CMCN_SCD_YMD",
                #[].rgetYn# AS "RGET_YN",
                CAST(#[].dbtBdnAmt# AS NUMERIC(20,0)) AS "DBT_BDN_AMT",
                #[].smzCstcDys# AS "SMZ_CSTC_DYS",
                #[].pvcnRsonCd# AS "PVCN_RSON_CD",
                #[].pvcnRsonSclsCd# AS "PVCN_RSON_SCLS_CD",
                #[].g2bRchDt# AS "G2B_RCH_DT",
                #[].ctrtFomCd# AS "CTRT_FOM_CD",
                #[].mdfcnYmd# AS "MDFCN_YMD",
                #[].ctrtChrgUsrId# AS "CTRT_CHRG_USR_ID",
                CAST(#[].bfSmzCtrtAmt# AS NUMERIC(20,0)) AS "BF_SMZ_CTRT_AMT",
                CAST(#[].dlyRpnAmtRt# AS NUMERIC(25,5)) AS "DLY_RPN_AMT_RT",
                #[].frstCtrtLdgrNo# AS "FRST_CTRT_LDGR_NO",
                #[].deptCd# AS "DEPT_CD",
                #[].pcurPrgDvCd# AS "PCUR_PRG_DV_CD",
                #[].exntCd# AS "EXNT_CD",
                #[].mdfcnDt# AS "MDFCN_DT",
                #[].mdfcnUsrId# AS "MDFCN_USR_ID",
                #[].giveMthCd# AS "GIVE_MTH_CD",
                #[].leasYn# AS "LEAS_YN",
                #[].smzCtrtDgr# AS "SMZ_CTRT_DGR",
                #[].smzCtrtDgrExiYn# AS "SMZ_CTRT_DGR_EXI_YN",
                #[].ctrtOpslDvCd# AS "CTRT_OPSL_DV_CD",
                #[].ctrtMthDtsDvCd# AS "CTRT_MTH_DTS_DV_CD",
                #[].ctdmDvCd# AS "CTDM_DV_CD",
                #[].ctrtCnltYn# AS "CTRT_CNLT_YN",
                #[].ctrtCn# AS "CTRT_CN",
                CAST(#[].pbnTottAmt# AS NUMERIC(20,0)) AS "PBN_TOTT_AMT",
                CAST(#[].rnsmTottAmt# AS NUMERIC(20,0)) AS "RNSM_TOTT_AMT",
                #[].cmpsMbizCd# AS "CMPS_MBIZ_CD",
                CAST(#[].lbcTottAmt# AS NUMERIC(20,0)) AS "LBC_TOTT_AMT",
                #[].scgdYn# AS "SCGD_YN",
                #[].g2bCkNm# AS "G2B_CK_NM",
                CAST(#[].g2bGdPatDscrt# AS NUMERIC(22,2)) AS "G2B_GD_PAT_DSCRT",
                CAST(#[].g2bGdPatDscAmt# AS NUMERIC(20,0)) AS "G2B_GD_PAT_DSC_AMT",
                #[].gvslMtrlDvCd# AS "GVSL_MTRL_DV_CD",
                #[].cstcDvCd# AS "CSTC_DV_CD",
                #[].lgnRgstrUsrId# AS "LGN_RGSTR_USR_ID",    
                #[].lgnRgstrDt# AS "LGN_RGSTR_DT",
                #[].frstRgstrUsrId# AS "FRST_RGSTR_USR_ID",
                #[].frstRgstrDt# AS "FRST_RGSTR_DT",
                #[].lastMdfcnUsrId# AS "LAST_MDFCN_USR_ID",
                #[].lastMdfcnDt# AS "LAST_MDFCN_DT"
                )
            </iterate>
        ) AS B
        ON  (
                B.LAF_CD = A.LAF_CD
            AND B.CTRT_LDGR_MNG_NO = A.CTRT_LDGR_MNG_NO
            )
        WHEN MATCHED THEN
            UPDATE SET A.ATFL_GRP_ID = B.ATFL_GRP_ID
                     , A.FYR = B.FYR
                     , A.EXPS_DV_CD = B.EXPS_DV_CD
                     , A.PCUR_DV_CD = B.PCUR_DV_CD
                     , A.CTRT_KND_CD = B.CTRT_KND_CD
                     , A.CTRT_MTH_CD = B.CTRT_MTH_CD
                     , A.CTRT_TY_DTS_CD = B.CTRT_TY_DTS_CD
                     , A.NEW_LTM_DV_CD = B.NEW_LTM_DV_CD
                     , A.CPRT_CTRT_DV_CD = B.CPRT_CTRT_DV_CD
                     , A.CTRT_TRGT_NM = B.CTRT_TRGT_NM
                     , A.CTRT_OTLN_CN = B.CTRT_OTLN_CN
                     , A.LCTN_NM = B.LCTN_NM
                     , A.CTRT_NO = B.CTRT_NO
                     , A.PCUR_MNG_NO = B.PCUR_MNG_NO
                     , A.PCUR_CHRG_DEPT_NM = B.PCUR_CHRG_DEPT_NM
                     , A.CGP_TELNO = B.CGP_TELNO
                     , A.PCUR_FEE = B.PCUR_FEE
                     , A.PODR_DV_CD = B.PODR_DV_CD
                     , A.FRST_SMZ_CTRT_AMT = B.FRST_SMZ_CTRT_AMT
                     , A.SMZ_CTRT_TOTT_AMT = B.SMZ_CTRT_TOTT_AMT
                     , A.SMZ_CTRT_YMD = B.SMZ_CTRT_YMD
                     , A.BGCS_YMD = B.BGCS_YMD
                     , A.CMCN_YMD = B.CMCN_YMD
                     , A.CMCN_SCD_YMD = B.CMCN_SCD_YMD
                     , A.RGET_YN = B.RGET_YN
                     , A.DBT_BDN_AMT = B.DBT_BDN_AMT
                     , A.SMZ_CSTC_DYS = B.SMZ_CSTC_DYS
                     , A.PVCN_RSON_CD = B.PVCN_RSON_CD
                     , A.PVCN_RSON_SCLS_CD = B.PVCN_RSON_SCLS_CD
                     , A.G2B_RCH_DT = B.G2B_RCH_DT
                     , A.CTRT_FOM_CD = B.CTRT_FOM_CD
                     , A.MDFCN_YMD = B.MDFCN_YMD
                     , A.CTRT_CHRG_USR_ID = B.CTRT_CHRG_USR_ID
                     , A.BF_SMZ_CTRT_AMT = B.BF_SMZ_CTRT_AMT
                     , A.DLY_RPN_AMT_RT = B.DLY_RPN_AMT_RT
                     , A.FRST_CTRT_LDGR_NO = B.FRST_CTRT_LDGR_NO
                     , A.DEPT_CD = B.DEPT_CD
                     , A.PCUR_PRG_DV_CD = B.PCUR_PRG_DV_CD
                     , A.EXNT_CD = B.EXNT_CD
                     , A.MDFCN_DT = B.MDFCN_DT
                     , A.MDFCN_USR_ID = B.MDFCN_USR_ID
                     , A.GIVE_MTH_CD = B.GIVE_MTH_CD
                     , A.LEAS_YN = B.LEAS_YN
                     , A.SMZ_CTRT_DGR = B.SMZ_CTRT_DGR
                     , A.SMZ_CTRT_DGR_EXI_YN = B.SMZ_CTRT_DGR_EXI_YN
                     , A.CTRT_OPSL_DV_CD = B.CTRT_OPSL_DV_CD
                     , A.CTRT_MTH_DTS_DV_CD = B.CTRT_MTH_DTS_DV_CD
                     , A.CTDM_DV_CD = B.CTDM_DV_CD
                     , A.CTRT_CNLT_YN = B.CTRT_CNLT_YN
                     , A.CTRT_CN = B.CTRT_CN
                     , A.PBN_TOTT_AMT = B.PBN_TOTT_AMT
                     , A.RNSM_TOTT_AMT = B.RNSM_TOTT_AMT
                     , A.CMPS_MBIZ_CD = B.CMPS_MBIZ_CD
                     , A.LBC_TOTT_AMT = B.LBC_TOTT_AMT
                     , A.SCGD_YN = B.SCGD_YN
                     , A.G2B_CK_NM = B.G2B_CK_NM
                     , A.G2B_GD_PAT_DSCRT = B.G2B_GD_PAT_DSCRT
                     , A.G2B_GD_PAT_DSC_AMT = B.G2B_GD_PAT_DSC_AMT
                     , A.GVSL_MTRL_DV_CD = B.GVSL_MTRL_DV_CD
                     , A.CSTC_DV_CD = B.CSTC_DV_CD
                     , A.LGN_RGSTR_USR_ID = B.LGN_RGSTR_USR_ID
                     , A.LGN_RGSTR_DT = B.LGN_RGSTR_DT
                     , A.FRST_RGSTR_USR_ID = B.FRST_RGSTR_USR_ID
                     , A.FRST_RGSTR_DT = B.FRST_RGSTR_DT
                     , A.LAST_MDFCN_USR_ID = B.LAST_MDFCN_USR_ID
                     , A.LAST_MDFCN_DT = B.LAST_MDFCN_DT
            
        WHEN NOT MATCHED THEN
            INSERT VALUES
            (
                B.LAF_CD,
                B.CTRT_LDGR_MNG_NO,
                B.ATFL_GRP_ID,
                B.FYR,
                B.EXPS_DV_CD,
                B.PCUR_DV_CD,
                B.CTRT_KND_CD,
                B.CTRT_MTH_CD,
                B.CTRT_TY_DTS_CD,
                B.NEW_LTM_DV_CD,
                B.CPRT_CTRT_DV_CD,
                B.CTRT_TRGT_NM,
                B.CTRT_OTLN_CN,
                B.LCTN_NM,
                B.CTRT_NO,
                B.PCUR_MNG_NO,
                B.PCUR_CHRG_DEPT_NM,
                B.CGP_TELNO,
                B.PCUR_FEE,
                B.PODR_DV_CD,
                B.FRST_SMZ_CTRT_AMT,
                B.SMZ_CTRT_TOTT_AMT,
                B.SMZ_CTRT_YMD,
                B.BGCS_YMD,
                B.CMCN_YMD,
                B.CMCN_SCD_YMD,
                B.RGET_YN,
                B.DBT_BDN_AMT,
                B.SMZ_CSTC_DYS,
                B.PVCN_RSON_CD,
                B.PVCN_RSON_SCLS_CD,
                B.G2B_RCH_DT,
                B.CTRT_FOM_CD,
                B.MDFCN_YMD,
                B.CTRT_CHRG_USR_ID,
                B.BF_SMZ_CTRT_AMT,
                B.DLY_RPN_AMT_RT,
                B.FRST_CTRT_LDGR_NO,
                B.DEPT_CD,
                B.PCUR_PRG_DV_CD,
                B.EXNT_CD,
                B.MDFCN_DT,
                B.MDFCN_USR_ID,
                B.GIVE_MTH_CD,
                B.LEAS_YN,
                B.SMZ_CTRT_DGR,
                B.SMZ_CTRT_DGR_EXI_YN,
                B.CTRT_OPSL_DV_CD,
                B.CTRT_MTH_DTS_DV_CD,
                B.CTDM_DV_CD,
                B.CTRT_CNLT_YN,
                B.CTRT_CN,
                B.PBN_TOTT_AMT,
                B.RNSM_TOTT_AMT,
                B.CMPS_MBIZ_CD,
                B.LBC_TOTT_AMT,
                B.SCGD_YN,
                B.G2B_CK_NM,
                B.G2B_GD_PAT_DSCRT,
                B.G2B_GD_PAT_DSC_AMT,
                B.GVSL_MTRL_DV_CD,
                B.CSTC_DV_CD,
                B.LGN_RGSTR_USR_ID,
                B.LGN_RGSTR_DT,
                B.FRST_RGSTR_USR_ID,
                B.FRST_RGSTR_DT,
                B.LAST_MDFCN_USR_ID,
                B.LAST_MDFCN_DT
            )
    </update>

 

  • ?
    엄기호 2023.11.14 16:50
    큐브리드를 이용해주셔서 감사합니다.

    테이블 DDL.txt 파일을 보니 SMZ_CSTC_DYS 컬럼 타입이 NUMERIC(5, 0)으로 되어 있습니다.
    그런데 MERGE INTO절에서는 VARCHAR 타입으로 되어 있어서 발생한 것으로 보입니다.
    #[].smzCstcDys# AS "SMZ_CSTC_DYS",
    --> CAST(#[].smzCstcDys# AS NUMERIC(5,0)) AS "SMZ_CSTC_DYS", 으로 변경하여 수행해보세요.
  • ?
    yhpark 2023.11.14 17:06

    안녕하세요. 우선 답변 감사합니다.

    말씀하신대로 해당부분을 수정 후 쿼리를 실행해보았으나..... 동일한 에러가 발생했습니다.

    현재 데이터가 잘못 되었을 가능성도 있다고 생각하여 데이터를 살펴보았으나, 데이터는 정상적으로 출력되고 있습니다.


    혹시 다른 부분이 있을까요?

  • ?
    엄기호 2023.11.14 17:24
    9.x 버전을 사용하고 있네요.
    그럼 컬럼 타입이 DATE으로 되어 있는 값들을 확인하셔서 해보셔야 할 것 같습니다.
  • ?
    동구 2023.11.14 17:29
    혹시, not null 컬럼에, null 값이 update 되는건 아닌지요?
  • ?
    엄기호 2023.11.14 17:40
    not null이면 null를 넣을 수 없다는 의미 입니다.
  • ?
    동구 2023.11.14 17:55
    네.. 그래서 나는 에러가 아닌지 헤서요.
  • ?
    yhpark 2023.11.15 09:16

    안녕하세요! 답변 감사합니다!

    답변달아주신 것을 확인 후

    1. CAST(#[].smzCstcDys# AS NUMERIC(5,0)) AS "SMZ_CSTC_DYS"
    2. DATE 타입 컬럼 값 확인
    3. 데이터 확인을 통해 NOT NULL에 NULL 값이 들어가는지?

    위에 3가지 사항을 확인하고 쿼리를 다시 실행해보았으나 동일한 오류가 발생하였습니다.
    DATE 타입의 경우 현재 VARCHAR로 "20231110112949" 와 같은 형태(YYYY MM DD HH24 MI SS)로 데이터가 들어오는데
    CASTING 유무와 상관없이 정상적으로 진행되었습니다.

    NOT NULL 컬럼에 NULL값이 들어가는거 아닌가에 대한 말씀에 대해서는 전체 데이터확인을 해보았으나 데이터는 정상적으로 들어오고 있었습니다.

    혹시 다른 부분이 있을 수 있을까요?

  • ?
    동구 2023.11.15 09:19

    https://diaryofgreen.tistory.com/201
    위 링크 참고해보세요.

     

    SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-456]

    위 검색어로 구글링 해보세요.

     

    대부분, 데이터타입 문제에 대해 언급하고 있습니다. null 값 들어가는게 있는지 다시한번 확인해 보세요.

  • ?
    yhpark 2023.11.15 09:40
    안녕하세요! 답변 감사합니다.

    제가 제대로 이해했는지 모르겠지만...
    현재 쿼리가 조회(SELECT)하는 쿼리가 아니고 <update> ~~ </update>의 결과를 특정 VO에 담지 않고 있는데... 결과값의 매핑을 확인하라는 게 어떤 부분을 말씀하시는건지 잘 모르겠습니다.

    혹시 조금 더 자세하게 말씀해주실 수 있을까요?
  • ?
    tonggu 2023.11.15 09:54
    네,
    결과값의 매핑을 확인하라는것은 USING 문에 넘어온 변수들의 값을 확인하라는 겁니다. 여기에 null 값이 넘어오는건 아닌지?

    그리고, CUBRID 에러코드 -456 은 "데이터 타입 참조 오류라고 나오네요"

    $CUBRID/log/broker/sql_log/ 아래에서 -456 을 찾아보면 에러를 발생시키는 질의를 찾아볼 수 있습니다.
  • ?
    yhpark 2023.11.15 11:17 Files첨부 (1)

    안녕하세요. 자세한 답변 감사합니다.

     

    말씀하신대로 USING 절에서 사용된 값을 확인한 결과 NULL값이 있기는 하지만 NOT NULL 칼럼에 NULL 값이 매칭되는 것은 없었습니다.

     

    그리고 말씀하신 경로를 찾아가 에러코드 로그를 확인해본 결과 첨부한 사진과 같은 로그만 확인할 수 있었습니다.

     

    혹시 로그를 더 자세하게 볼 수 있는 경로가 있을까요?..  

     

    이미지.png

     

  • ?
    tonggu 2023.11.15 11:38
    반드시 not null 컬럼이 아니더라도,
    관련해서, 스키마, USING 절에 넘어온 값 및 타입, VO 에 선언된 타입 등을 확인해 보세요.

    그리고, 구글링 해보면 관련된 자료가 많은듯 합니다.
    iBatis 에서 null 값을 일괄적으로 처리하는 부분들도 있는 것 같구요.

    그리고, 지금 캡쳐하신 로그는 error_log 에서 캡쳐하신것으로 보입니다.
    sql_log 디렉토리내 개별 sql.log 들을 확인해 보세요..
  • ?
    yhpark 2023.11.15 14:31
    안녕하세요. 빠른 답변 감사드립니다.

    말씀하신대로 sql.log 파일을 확인해보니 좀 더 자세한 내용을 알 수 있었는데

    에러가 발생한 원인이 실행시키는 쿼리 길이가 길어서 그런지 쿼리가 완성되지 못하고 실행된걸로 확인됩니다.

    해당 문제는 큐브리드 설정을 통해 해결할 수 있는지 알 수 있을까요?"
  • ?
    tonggu 2023.11.15 16:56
    쿼리가 완성되지 못하고 실행됐다면,,, application 쪽에서 짤려서 보낸걸로 보입니다. application 에서 로그를 찍어 확인해 보시죠?
  • ?
    yhpark 2023.11.16 10:12
    많은 질문에도 계속 답변 해주셔서 감사합니다!

    Application 에서 쿼리를 좀 더 콤팩트하게 만들어서 문제를 해결해보도록 하겠습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4125
3959 cubrid statdump 기술 문의드립니다. 5 secret 이건우 2024.02.19 7
3958 날짜 형식 변환에 대해서 궁금해서 올립니다. 1 김용용 2024.02.14 26
3957 컬럼의 Enum DataType 가져오는것 문의 3 엘L 2024.01.30 52
3956 Redhat 8버전 tls 1.0 에러 9 11시38분 2024.01.30 88
3955 테이블이 어떤 스키마(데이터베이스)에 속해있는지 알 수 있는 방법이 있나요? 3 엘L 2024.01.29 90
3954 테이블 생성시 REUSE_OID 옵션끄기 문의드립니다 1 원샷 2024.01.25 62
3953 큐브리드 DB에 테이블 생성 후, 저장된 데이터 LIKE 조건 안되는 현상입니다. 1 file 하코 2024.01.24 57
3952 실 ip db서버 이중화 관련 질문 1 zexpand 2024.01.18 67
3951 SQLGate for CUBRID (CUBRID v9.3 and later) 폐쇄망 사용법? 1 임소식 2024.01.18 54
3950 큐브리드 파일 읽기 쓰기 문의 1 임소식 2024.01.18 273
3949 CUBRID Manager 윈도우 버전 배포 해주세요. SQLGate for CUBRID 버그가 많아요. 2 도프 2024.01.17 73
3948 Cubird db 접속 문제 1 file 폰호두 2024.01.17 67
3947 Django Cubrid DB Conntection Error 4 thejoin 2024.01.16 79
3946 CUBRID DB 접속 불가 1 file 싸뤼 2024.01.16 64
3945 Cubrid admin localhost 연결 불가 7 file 싸뤼 2024.01.12 117
3944 파티션 테이블 성능 문의 4 file 방글이 2024.01.11 93
3943 트리거 삭제 오류 1 file slqk135 2024.01.08 77
3942 restoredb 시 log 내용 문의 1 file 별하나에 2024.01.08 53
3941 파티션 테이블 대량 DROP 처리 문의 (ibatis) 1 방글이 2024.01.04 62
3940 JAVA SP 에서 addBatch 오류 문의 1 방글이 2024.01.03 63
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 198 Next
/ 198

Contact Cubrid

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