sqlserver 插入數據的時候 插入失敗,報錯內容為
“SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase”
理論上來說,插入數據失敗,原因無非就是:a 后台參數長度,超過數據庫中字段定義的長度; b 后代參數的數據類型,與數據庫中字段的數據類型沖突;這兩個大原因;
可以參考https://blog.csdn.net/qzslzy/article/details/52103906該文章來解決;
但是很不幸,我發現我的程序,在本地操作(增刪改查)都沒毛病,部署上線后,數據無法插入;仔細看了下不能插入數據的數據表,發現都有一個日期需要插入;測試過程中,我把日期刪掉,重新插入數據,沒毛病;於是查了很多關於sqlserver日期插入的問題;
sqlserver 的日期插入,不能直接插入 java.util.Date類型是日期;需要做一步轉換,new java.sql.Date(時間戳);如下
1 String sql = "insert into [dbo].datacheck(totalId,companyId,grainDate,facilityinf,checkinf," 2 + "remark,checkMan) values(?,?,?,?,?,?,?)"; 3 return DB.insert2(sql, uuid + "",datacheck.getCompanyId(),new java.sql.Date(datacheck.getGrainDate().getTime()),datacheck.getFacilityinf(),datacheck.getCheckinf(),datacheck.getRemark(),datacheck.getCheckMan());
這個坑,要注意。