私はPythonプログラムを使用してMySQLデータベースを操作しています。Pythonでカーソルが閉じるエラーMYSQLConnection
Windowsサーバー2012タスクスケジューラを使用しようとすると、それはうまくいかず、レポートには成功したと表示されますが、結果は表示されません。
powershellスクリプトを使用してPythonプログラムを呼び出した後、タスクスケジューラ()で使用しても機能しません(自分で実行すると動作しますが)。
ここ部分が盗聴として報告:
try:
dbconfig = read_db_config()
conn = MySQLConnection(**dbconfig)
cursor = conn.cursor()
delstatmt = "DELETE FROM `event` WHERE filliere='IRC' OR filliere='ETI' OR filliere='CGP'"
cursor.execute(delstatmt)
conn.commit()
except Error as e:
print(e)
finally:
cursor.close()
conn.close()
")(cursor.close" 行であるエラー:UnboundLocalError:割り当て
注前に参照され、ローカル変数 'カーソル':それをタスクスケジューラによって処理されないときに機能します。
編集: Shubham Namdeoのソリューションが動作しますが、問題はconn.close()に切り替えられましたが、私も "try"で移動しました。なぜ私はそれを自分で実行するときに働いたので、最初の形式ではうまくいかなかったのか分かりません。他のエラーは現われているが、この質問には関係していない。
try:
dbconfig = read_db_config()
conn = MySQLConnection(**dbconfig)
cursor = conn.cursor()
delstatmt = "DELETE FROM `event` WHERE filliere='IRC' OR filliere='ETI' OR filliere='CGP'"
cursor.execute(delstatmt)
conn.commit()
cursor.close()
conn.close()
except Error as e:
print(e)
'conn = MySQLConnection(** dbconfig)'が正しく動作しているかどうかチェックしましたか?そうでなければ、カーソルは作成されず、 'finally'ではpythonがエラーを発生させます。 –
ありがとうございました。あなたの編集ごとに、回答も更新しました。 –