Кто-нибудь использовал пакет ibm_db
с IBM Python для PASE для обновления файлов Db2 в IBM i (ранее AS / 400)?
Я хочу использовать скрипты Python (из QSH) для обновления Db2база данных.Моя цель - заполнить значения во время выполнения и обновить поля файлов Db2.Он работает со статическими (жестко закодированными) значениями, но не с динамическими.
Вот то, что я пытаюсь, но это не работает:
import ibm_db
c1 = ibm_db.connect('*LOCAL','userid','password')
sql = """INSERT INTO TEMPLIB.TEMPPF (TYPE, DRPARTY, CRPARTY,
AMOUNT,ACNUM, DESCRIPT)
VALUES('%s', '%s', '%s', '%s', '%s', '%s'),
%(self.type, self.debitparty, self.creditparty, self.amount,
self.craccountnumber, self.description) with NC
"""
stmt = ibm_db.exec_immediate(c1, sql )
self.type
, self.debitparty
и т. Д. Являются переменными экземпляра Python и имеют значения. TYPE
, DRPARTY
, CRPARTY
и т. Д. Являются полями TEMPPF
.
Что-топроще, как заполнение переменной 'sql', как показано ниже:
sql = "select * from TEMPLIB.TEMPPF"
Так что где-то я не делаю формат INSERT правильно.Кто-нибудь знает формат, пожалуйста?Я испробовал несколько форматов, доступных в Интернете, но они не совместимы с Python или не являются хорошими примерами.