0

Python mysqldb ライブラリを使用して MySQL バッチ ファイルを適用することは可能ですか。これまでのところ、ファイルの内容を「実行」しようとしました:

cur = connection.cursor()
cur.execute(file(filename).read())
cur.commit() # and without commit

これは、単一のステートメントでのみ機能します。そうしないと、次のエラーが表示されます。

Failed to apply content. Error 2014: Commands out of sync; you can't run this command now

あらゆる種類の MySQL スキーマ、テーブルの変更をサポートするつもりなので、ファイルを行ごとに解析することはオプションではありません。Python から mysql クライアントを呼び出す以外の解決策はありますか?

4

1 に答える 1

0

cx_oracle を使用していると思いますか? この問題は、カーソル内で存在しないメソッドを呼び出していることが原因で発生します。だったはず

    cur = connection.cursor()
    cur.execute(file(filename).read())
    connection.commit()
于 2013-05-22T10:38:10.420 に答える