insert into TB_IF_ORDERS (DC_CD,JOB_DT,SEQ_NO,ORDER_KEY,ORDER_ID,ORDER_LINE_NUM,COMPANY_CD,CUST_CD,SKU_CD,SKU_UOM,ORDER_QTY,LOC_CD,ZONE_CD,REMARK,RGT_DTM,DateTimeNow,PICK_DETAIL_KEY,JOB_GB,LOT_NO,IF_FLAG,ROWS) values ?,?),(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?),(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
]; SQL state [S0001]; error code [8003]; 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100。
原因是我在插入记录到数据库中时,动态拼接的sql语句过长,此时需要分批次来进行插入操作,而不是一次性全部执行。
数据库驱动,限制了“?”号的个数,需要限制数量
如果觉得《SQL驱动限制 导致插入失败》对你有帮助,请点赞、收藏,并留下你的观点哦!