実現したいこと
Pythonで読み込んだCSVデータを元にOracleのテーブルデータをUPDATEしたい
前提
csvデータの内容
A1,test
A2,test
A3,fdsgfg
A4,tgfdsgrgtrd
A5,gsttrgstr
A6,dsrgtre
A7,sdgrtr
A8,tfdshf
A9,sthrt
A10,tshg
発生している問題・エラーメッセージ
エラーメッセージは出ないが、Oracle側のテーブルデータが更新されない。
該当のソースコード
Python3
1import oracledb 2import csv 3import os 4 5 6FILE_NAME = os.path.join('data', 'load_csv.csv') 7 8 9BATCH_SIZE = 100 10 11connection = oracledb.connect(user="hoge", password="hogehoge", 12 host="HOSTNAME", port=1521, service_name="pdb") 13 14 15with connection.cursor() as cursor: 16 17 18 cursor.setinputsizes(None, 25) 19 20 with open(FILE_NAME, 'r') as csv_file: 21 csv_reader = csv.reader(csv_file, delimiter=',') 22 sql = "UPDATE LOADCSVTAB SET NAME=:2 WHERE ID=:1" 23 data = [] 24 for line in csv_reader: 25 data.append((line[0], line[1])) 26 if len(data) % BATCH_SIZE == 0: 27 cursor.executemany(sql, data) 28 data = [] 29 if data: 30 cursor.executemany(sql, data) 31 connection.commit()
試したこと
Oracle側のsql実行ログを確認したところsqlは通っている。
補足情報(FW/ツールのバージョンなど)
使用ライブラリ:oracledb
0 コメント