問題
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()
コメント