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。

留言

熱門文章