pythonスクリプトを使用してテキストファイルで作成されたSQLコマンドを実行しようとしています。しかし、SQLコマンドが失敗した場合、pythonスクリプトはエラーをスローし、その間にテキストファイルの実行を停止します。その結果、実行されるコマンドは少なく、残っているコマンドはほとんどありません。Pythonで例外を取得した後にtxtファイルを読み続ける方法
私のコードがエラーをスローし、テキストファイルの残りのコマンドを実行し続けることを期待しています。
読書のための私のコード:
import sqlite3 as sqlite
File_Name = input(" please provide text file name : ")
DB_Name = input (" Please provide the Database Name : ")
connection = sqlite.connect(DB_Name)
cursor = connection.cursor()
Text_File = open (File_Name,'r')
Text = Text_File.read()
Text_File.close()
try:
cursor.executescript(Text)
except sqlite.Error as e:
print ("sql command error ",e)
connection.commit()
connection.close()
テキストファイルは次のようである:ここ
drop table test_p;
drop table test_p1;
drop table test_p2;
create table test_p(a number);
create table test_p1(a number);
create table test_p2(a number);
insert into test_p values(1);
insert into test_p values(2);
insert into test_p1 values(3);
insert into test_p1 values(4);
insert into test_p2 values(5);
insert into test_p2 values(6);
テーブルtest_p1が存在しないと私はスクリプトを実行しているならば、test_pが削除されます例外がスローされます。
なぜ 'DROP TABLE ... IF EXISTS'を使用しないのですか? –