mysql 中的異常 Bad file descriptor

用python版本的mysql connector 構造自己的數據庫操作類,實際使用的時候系統報錯 Bad file descriptor

而且這個錯誤帶點偶發性質,經過分析發覺導致這一問題的來源是在提交事務的時候數據庫的對象已經主動關閉了!

思路:

beginTrans

insert data1

isExist=select data2(調用了自構造的getOneRow函數)

if isExist 

 insert data2

endTrans

由於之前提到過在同一conn下進行sql 查詢,connector 本身帶有一定的緩衝機制,所以在自定義的所有查詢中函數(getOneRow,getAllRows)全部都是先打開conn然後再關閉.

由此導致了在上面的代碼中endtrans時已經conn.close了

所以系統爆出了Bad file descriptor這個錯誤,

網上查詢這個錯誤,大部分反應都是同socket有關係


本以爲mysql connector是官方出得,誰知道前前後後居然產生了這麼多問題。

之前用的各個版本的數據庫操作類都是第三方寫的,當自己來寫的時候才發覺有些問題之前一直沒有考慮到!

我是不是把這個數據庫操作的python類放到git去啊

發佈了280 篇原創文章 · 獲贊 3 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章