点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在尝试使用sap h...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在尝试使用sap h...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我正在尝试使用sap hana db的jdbc驱动程序(版本-2.4.67)进行批量插入
演示代码如下
(我创建了ID为INTEGER的Employee表,它是主键,名称为VARCHAR(1))
字符串psBatchquery ="插入SYSTEM.Employee(id,name)值(?,?) batchPs = con.prepareStatement(psBatchquery); 最终的int batchSize = 3; int count = 0; 对于(int i = 0; i <8; i ++){ 如果(i == 2){ batchPs.setInt(1,i); batchPs.setString(2,"名称" + i); }其他{ batchPs.setInt(1,i); batchPs.setString(2," A"); } batchPs.addBatch(); 如果(++ count%batchSize == 0){ 尝试{ batchPs.executeBatch(); } catch(BatchUpdateException be){ int []失败= be.getUpdateCounts(); }最后{ 计数= 0; } } } batchPs.executeBatch()
当我尝试只为一个记录(索引为2的记录)插入大数据时,fail [0],fail [1]和fail [2]都返回-3,这意味着不仅未插入故障记录 但也没有插入该批次的正确记录。
相反,当我执行主键冲突时,我将失败记录的int [i]设为-3,而对于同一批次的所有其他记录,则返回1,即成功
当我尝试为列插入大数据时,是否有任何方法可以实现与主键违规相同的行为,即仅失败记录失败并且成功插入了批次中的其余记录?
对于以上两种情况,为什么SAP HANA以不同的方式处理批处理插入?
您使用什么版本的SAP HANA和jdbc驱动程序? 请将此信息添加到您的问题中。
一周热门 更多>