エラー「raise err.InterfaceError(0, “”)」で停止

問題

Python の PyMySQL を使用していて「raise err.InterfaceError(0, “”)」のエラーが発生して停止してしまう。

原因

コネクションをクローズしているにも関わらず、コネクションやカーソルを再利用しようとしていると発生する。

対処

コネクションを再度定義するか、クローズするタイミングを変更する。

コネクションを再定義する場合に、コードが煩雑になるようであれば、pymysql.connect を以下のように外に出すと良い。

def get_connection():
    return pymysql.connect(
        host='local',
        user='user',
        password='pass',
        database='db',
        charset='utf8mb4',
        cursorclass=pymysql.cursors.DictCursor
    )

def sample(): 
    conn = get_connection()

コメント

タイトルとURLをコピーしました