我試圖將數據從一個數據庫遷移到另一個數據庫,但由於無法正確處理數據類型而無法這樣做。無法在數據庫中插入不同的數據類型值
目標數據庫
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
是我的一些其他數據庫的結果集。
執行後我得到這個異常。
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和無法正確調試,可能是我缺少一些非常基本的東西。 任何幫助將不勝感激。
問題是由於ResultSet中Null值。 – Sajjad 2014-09-24 11:25:42