Java - Debug:JdbcRowSet在update類型相關操作會無法成功
整晚折騰在下圖測試碼產生的bug:
JdbcRowSet本身可讓ResultSet可被updatable。
但是新增資料測試結果,表示出並非如此。
掙扎很久後去問問網路上大大們碰碰運氣,結論就是:
- 目前解法:就是不用JdbcRowSet了,轉回用statement、prepareStatement操作,設定「ResultSet.TYPE_SCROLL_INSENSITIVE和ResultSet.CONCUR_UPDATABLE」。
- 可能造成bug原因:
- DB的driver不支援:
連結中表示Oracle JDBC driver不支援:
- JDK中的包的是com.sun的rowset套件(非標準實作),或許該改用Oracle實作的rowset套件:
可看見以下兩連結的錯誤訊息和我相同=>可發現都是用com.sun的rowset套件:
這是網路上看到openJDK在com.sun的rowset原始碼(參考用):
我查了一下自己測試 碼產生的exception中的兩個function內容:
由此可見,JdbcRowSet並沒有可updatable。
留言
張貼留言