Pythonで読み込んだCSVデータを元にOracleのテーブルデータをUPDATEしたい

実現したいこと

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 コメント