Я пытаюсь выполнить подготовленный оператор для db2 в IBM Cloud.Я хочу выполнить запрос только в том случае, если заполнено поле data_array
, которое я контролировал.Это мой код:
conn = ibm_db.connect(dsn, "", "")
ibm_db.autocommit(conn, ibm_db.SQL_AUTOCOMMIT_OFF)
ins_sql = "insert into MY_TABLE (ID, NAME) values (?, ?)"
ins_stm = ibm_db.prepare(conn, ins_sql)
if data_array:
for data in data_array:
ibm_db.bind_param(ins_stm, 1, data['ID'])
ibm_db.bind_param(ins_stm, 2, data['NAME'])
ibm_db.execute(ins_stm)
ibm_db.commit(conn)
Когда я запускаю его, я получаю следующую ошибку в строке ibm_db.execute(ins_stm)
.
Исключение: Ошибка привязки 3: [IBM] [Драйвер CLI] CLI0102E Неверное преобразование.SQLSTATE = 07006 SQLCODE = -99999
Что я здесь не так делаю?