한 데이터베이스에서 다른 데이터베이스로 데이터를 마이그레이션하려고하지만 데이터 유형을 올바르게 처리 할 수 없어서 그렇게 할 수 없습니다. 나는 값을 삽입하고 방법 대상 데이터베이스 여기데이터베이스에 다른 데이터 유형 값을 삽입 할 수 없습니다.
CREATE TABLE `Report_aggregation` (
`Supplier` varchar(255) DEFAULT NULL,
`Product_code` int(11) DEFAULT NULL,
`Product_Name` varchar(255) DEFAULT NULL,
`Balance_on_Hand` int(11) DEFAULT NULL,
`Pending` int(11) DEFAULT NULL,
`Sale_Yesterday` int(11) DEFAULT NULL,
`Stock_day` decimal(10,0) DEFAULT NULL,
`Sale_avg` decimal(10,0) DEFAULT NULL,
`Stock_day_avg` varchar(255) DEFAULT NULL,
`Lead_time` int(11) DEFAULT NULL,
`Frequency_per_week` int(11) DEFAULT NULL,
`Saftey_stock` int(11) DEFAULT NULL,
`Forecast_order_qty` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS = 1;
의
스키마입니다.
setValues: { ps, i ->
ps.setString(1, contracts[i].Supplier.toString())
ps.setInt(2, contracts[i].Product_code)
ps.setString(3, contracts[i].Product_Name.toString())
ps.setInt(4, contracts[i].Balance_on_Hand)
ps.setInt(5, contracts[i].Pending)
ps.setInt(6, contracts[i].Sale_Yesterday)
ps.setDecimal(7, contracts[i].Stock_day)
ps.setDecimal(8, contracts[i].Sale_avg)
ps.setString(9, contracts[i].Stock_day_avg.toString())
ps.setInt(10, contracts[i].Lead_time)
ps.setInt(11, contracts[i].Frequency_per_week)
ps.setInt(12, contracts[i].Saftey_stock)
ps.setInt(13, contracts[i].Forecast_order_qty)
}
여기에서 contracts
은 다른 데이터베이스의 my resultSet입니다.
실행시이 예외가 발생합니다.
groovy.lang.MissingMethodException: No signature of method: com.jolbox.bonecp.PreparedStatementHandle.setInt() is applicable for argument types: (java.lang.Integer, null) values: [2, null]
저는 Groovy를 처음 사용하고 제대로 디버깅 할 수 없기 때문에 매우 기본적인 것이 누락되었을 수 있습니다. 도움을 주시면 감사하겠습니다. 당신이 MissingMethodException이에 대해 예외가 발생하므로 유형을 확인할 수없는 preprared 문 널 (null)와 그루비에 삽입하는 ps.setInt(2, contracts[i].Product_code)
라인에 문제가있는 것처럼
문제는 결과 집합 null 값 때문. – Sajjad