I am trying to execute a prepared statement to a db2 on IBM Cloud. I only want to run the query if a data_array
is populated which I have controlled that it is. This is my code:
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)
When I run it I get the following error in the ibm_db.execute(ins_stm)
-line.
Exception: Binding Error 3: [IBM][CLI Driver] CLI0102E Invalid conversion. SQLSTATE=07006 SQLCODE=-99999
What am I doing wrong here?