91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql異常No operations allowed after statement closed怎么解決

發布時間:2021-12-20 13:41:45 來源:億速云 閱讀:8137 作者:iii 欄目:云計算

本篇內容主要講解“Mysql異常No operations allowed after statement closed怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Mysql異常No operations allowed after statement closed怎么解決”吧!

之所以會出現這個異常,是因為Mysql在5以后針對超長時間DB連接做了一個處理,那就是如果一個DB連接在無任何操作情況下過了8個小時后,Mysql會自動把這個連接關閉。所以使用連接池的時候雖然連接對象還在但是鏈接數據庫的時候會一直報這個異常。解決方法很簡單在Mysql的官方網站上就可以找到。 有兩個方法
###第一種是在DB連接字符串后面加一個參數。
這樣的話,如果當前鏈接因為超時斷掉了,那么驅動程序會自動重新連接數據庫。

jdbc:mysql://localhost:3306/makhtutat?autoReconnect=true

不過Mysql并不建議使用這個方法。因為第一個DB操作失敗的后,第二DB成功前如果出現了重新連接的效果。

conn.createStatement().execute(
  "UPDATE checking_account SET balance = balance - 1000.00 WHERE customer='Smith'");
conn.createStatement().execute(
  "UPDATE savings_account SET balance = balance + 1000.00 WHERE customer='Smith'");
conn.commit();

當然如果出現了重新連接,一些用戶變量和臨時表的信息也會丟失。 ###另一種方法是Mysql推薦的,需要程序員手動處理異常。

    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    int retryCount = 5;
    boolean transactionCompleted = false;
    do {
        try {
            conn = getConnection(); // assume getting this from a
                                    // javax.sql.DataSource, or the
                                    // java.sql.DriverManager
            conn.setAutoCommit(false);
            retryCount = 0;
            stmt = conn.createStatement();
            String query = "SELECT foo FROM bar ORDER BY baz";
            rs = stmt.executeQuery(query);
            while (rs.next()) {
            }
            all.close()
            transactionCompleted = true;
        } catch (SQLException sqlEx) {
            String sqlState = sqlEx.getSQLState();
           // 這個08S01就是這個異常的sql狀態。單獨處理手動重新鏈接就可以了。
            if ("08S01".equals(sqlState) || "40001".equals(sqlState)) 
                {                
                    retryCount--;            
                 } else {                
                     retryCount = 0;            
                     }        
         } finally {            
                 all close:        
             }    
      } while (!transactionCompleted && (retryCount > 0));}
}

到此,相信大家對“Mysql異常No operations allowed after statement closed怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霸州市| 石泉县| 库尔勒市| 岢岚县| 虹口区| 富阳市| 呼伦贝尔市| 宁陕县| 大丰市| 南华县| 驻马店市| 江城| 柳河县| 若尔盖县| 宣化县| 铜鼓县| 保山市| 方山县| 惠东县| 威信县| 施秉县| 海淀区| 若羌县| 富锦市| 遂川县| 仪征市| 神池县| 赞皇县| 拉孜县| 五华县| 杨浦区| 江城| 望城县| 海门市| 酒泉市| 蕲春县| 鄂托克旗| 曲松县| 文水县| 正阳县| 绥化市|