작콩큰콩
[오류] com.microsoft.sqlserver.jdbc.SQLServerException: The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request. 본문
작은 콩 개발자/오류
[오류] com.microsoft.sqlserver.jdbc.SQLServerException: The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request.
귤치치 2024. 5. 20. 12:03오류 내용
[2024-05-14 16:07:40.135] ERROR [spring.config.MybatisSqlLog error()] : 함수명: error / 파일: Function.java / 패키지: common.config.Function / 라인: 3351
- 에러사유:
com.microsoft.sqlserver.jdbc.SQLServerException: The incoming request has too many parameters.
The server supports a maximum of 2100 parameters.
Reduce the number of parameters and resend the request.
오류 부분
- 오류 난 쿼리
- 엄청나게 컬럼이 많았고 엑셀로 50개를 등록하는 과정에서 오류가 났다.
<insert id="insertTaskFile" parameterType="java.util.List">
BEGIN
<foreach item="data" collection="list" separator=";">
INSERT INTO SYS_TASK_FILE (
TASK_TYPE
,TASK_SEQ
,FILE_SEQ
,PROJ_SEQ
,DOC_FILE_TYPE_CD
,VALID_STATUS_CD
,EXT_TYPE
,SHEET
,SAFETY
,FBS
,FBS_BIZ_CD_SEQ
,PBS
,PBS_BIZ_CD_SEQ
,OBS
,OBS_BIZ_CD_SEQ
,ORG_SEQ
,TASK_BIZ_CD_SEQ
,REV_REMARK
,PAGE
,SUPPLIER_DOC
,REVIEW_STATUS
,REVIEW_YN
,DOC_GROUP
,ISSUE_DT
,ISSUE_PURPOSE
,DOC_GRADE
,AE_TRANS_NO
,RESP_DIV
,SUPER_VOID_ACTIVE
,AREA_CODE
,FILE_DWG_SIZE
,SORT
,REG_USER_SEQ
,REG_DT
,QTY
,TYPE
,SDRN
,SDDF
,ACTIVITY_CODE
,SYSTEM_CODE
,AREA_BUILDING
,CP_NO
,VOID_SUPERSEDE
,ADD_END_NUM_NO
,FILE_COUNT
,NSSS_TG
,SUPP_DATA_KIND
,SUPP_DOC_NO
,EQUIP_NO
,COMP_CD
,CATG_CD
,DISCIPLINE
,PART
,QA_RECORD
,LANGUAGE
,CONSERVATION_LIMIT
,VERIFY_ID
,VERIFY_NAME
,VERIFY_DATE
,ISSUE_SEQ_NO
,PO_NO
,PHASE
,ORIG_FILE_SEQ
) VALUES (
#{data.taskType}
,#{data.taskSeq}
,#{data.fileSeq}
,#{data.projSeq}
,#{data.docFileTypeCd}
,#{data.validStatusCd}
,#{data.extType}
,#{data.sheet}
,#{data.safety}
,#{data.fbs}
,#{data.fbsBizCdSeq}
,#{data.pbs}
,#{data.pbsBizCdSeq}
,#{data.obs}
,#{data.obsBizCdSeq}
,#{data.orgSeq}
,#{data.taskBizCdSeq}
,#{data.revRemark}
,#{data.page}
,#{data.supplierDoc}
,#{data.reviewStatus}
,#{data.reviewYn}
,#{data.docGroup}
,#{data.issueDt}
,#{data.issuePurpose}
,#{data.docGrade}
,#{data.aeTransNo}
,#{data.respDiv}
,#{data.superVoidActive}
,#{data.areaCode}
,#{data.fileDwgSize}
,#{data.sort}
,#{data.regUserSeq}
,GETDATE()
,#{data.qty}
,#{data.type}
,#{data.sdrn}
,#{data.sddf}
,#{data.activityCode}
,#{data.systemCode}
,#{data.areaBuilding}
,#{data.cpNo}
,#{data.voidSupersede}
,#{data.addEndNumNo}
,#{data.fileCount}
,#{data.nsssTg}
,#{data.suppDataKind}
,#{data.suppDocNo}
,#{data.equipNo}
,#{data.compCd}
,#{data.catgCd}
,#{data.discipline}
,#{data.part}
,#{data.qaRecord}
,#{data.language}
,#{data.conservationLimit}
,#{data.verifyId}
,#{data.verifyName}
,#{data.verifyDate}
,#{data.issueSeqNo}
,#{data.poNo}
,#{data.phase}
,#{data.origFileSeq}
)
</foreach>
END;
</insert>
오류 결론
쿼리가 너무 길어서 생긴 문제이다. 그래서 쿼리를 분산해서 실행하도록 하였다.
'작은 콩 개발자 > 오류' 카테고리의 다른 글
Comments