Параметризация in
значений является распространенной проблемой для разных драйверов, и python-ibmdb
не является исключением.Вы не можете напрямую параметризовать список значений для каждого заполнителя.
Вы должны будете динамически определить желаемое количество заполнителей и затем связать их.Что-то вроде этого:
values = ['first.txt', 'second.txt']
placeholders = ",".join("?" for _ in values)
sql = """
SELECT *
FROM TABLE
WHERE FILE_NAME IN ({placeholders)""".format(placeholders=placeholders)
stmt = ibm_db.prepare(conn, sql)
for index, value in enumerate(values):
imb_db.bind_param(stmt, index, value)