使用jdbctemplate插入數據到DB2出現異常 不能完全插入 插入1000條 只能成功900多條 插入100條 只能成功90多條
08:54:30.784 [main] DEBUG o.s.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
08:54:30.784 [main] DEBUG o.s.j.d.DriverManagerDataSource - Creating new JDBC DriverManager Connection to [jdbc:db2://10.188.1.75:50001/gytjdb]
08:54:30.969 [main] DEBUG o.s.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
08:54:30.969 [main] DEBUG o.s.j.support.SQLErrorCodesFactory - Database product name cached for DataSource [org.springframework.jdbc.datasource.DriverManagerDataSource@578ed2]: name is 'DB2/LINUXX8664'
08:54:30.971 [main] DEBUG o.s.j.support.SQLErrorCodesFactory - SQL error codes for 'DB2/LINUXX8664' found
08:54:30.971 [main] DEBUG o.s.j.s.SQLErrorCodeSQLExceptionTranslator - Using nested SQLException from the BatchUpdateException
08:54:30.971 [main] DEBUG o.s.j.s.SQLErrorCodeSQLExceptionTranslator - Unable to translate SQLException with Error code '-302', will now try the fallback translator
08:54:31.001 [main] DEBUG o.s.j.s.SQLStateSQLExceptionTranslator - Extracted SQL state class '22' from value '22001'
08:54:31.004 [main] DEBUG o.s.t.c.s.DirtiesContextTestExecutionListener - After test method: context [DefaultTestContext@1efe574 testClass = ReadFileFromFtp, testInstance = com.pactera.listener.employee.ReadFileFromFtp@c12ad8, testMethod = test@ReadFileFromFtp, testException = org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [ insert into SC_JRN_INFO_B values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; [jcc][t4][102][10040][3.69.24] 批處理出現故障。雖然已經提交了批處理,但是該批處理的某個成員至少發生了一個異常。
使用 getNextException() 來檢索已經過批處理的特定元素的異常。 ERRORCODE=-4229, SQLSTATE=null; nested exception is com.ibm.db2.jcc.am.BatchUpdateException: [jcc][t4][102][10040][3.69.24] 批處理出現故障。雖然已經提交了批處理,但是該批處理的某個成員至少發生了一個異常。
使用 getNextException() 來檢索已經過批處理的特定元素的異常。 ERRORCODE=-4229, SQLSTATE=null, mergedContextConfiguration = [MergedContextConfiguration@1e3f34c testClass = ReadFileFromFtp, locations = '{classpath:applicationContext-common.xml, classpath:applicationContext.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]], class dirties context [false], class mode [null], method dirties context [false].
個人建議指定字段插入