有没有人用过ibm_db
使用 IBM 的 Python for PASE 打包来更新 IBM i(以前称为 AS/400)上的 Db2 文件?
我想使用 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 不兼容,或者它们不是很好的示例。