Impala ODBC 驱动程序的 pyodbc 参数化插入

pyodbc parameterized insert for Impala ODBC Driver

我正在尝试使用 pyodbc 和 Cloudera ODBC 驱动程序为 Impala 执行参数化插入查询,但它不起作用。 我正在尝试执行以下查询。

   import pyodbc
   insert_query = "insert into table_name(id,name,price) values(?,?,?)"
   cursor.execute(insert_query,1,"Apples","20 dollars")

这是我收到的错误:

The SQL contains 0 parameter markers but 3 parameters were supplied, 'HY000'

如果我使用像这样的 Python 格式执行查询,它会起作用:

query_format = "insert into table_name(id,name,price) values({},\"{}\",\"{}\")".format(1,"Apples","20 dollars")
cursor.execute(query_format)

但我真的想单独指定参数,因为我想做 cursor.executemany() 来做批量插入稍后使用格式化方法迫使我使用 for 循环。

我没有单独发送值,而是也使用了元组和列表。什么都不管用。为什么它不识别“?”作为参数标记?

Python - 3.7.4, Pyodbc - 4.0.27, 蟒蛇 - 1.7.2, OS - Windows 10

如 GitHub here 所解决,这是 ODBC 驱动程序的问题,而不是 pyodbc 的问题。