用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去啊