1
我無法使用pyodbc和4D獲取參數化查詢。這裏有一個簡單和基本代碼的示例(在mySQL數據庫上工作)。表B有兩列沒有任何約束。使用pyodbc處理4D ODBC服務器時無法使用參數
import pyodbc
con2 = pyodbc.connect('dsn=CRIPI-4D');
cur2 = con2.cursor();
KeyMap = {
1: ('Aaaahaa',datetime.date(1990,1,1)),
2: ('Bcdefgh',datetime.date(1990,2,1)),
3: ("Aaaah%'aa",datetime.date(1990,3,1))
};
for k in KeyMap:
v = (k,KeyMap[k][0]);
cur2.execute("INSERT INTO B(Num,Text) VALUES(?,?);",v);
我總是收到此錯誤信息:
Traceback (most recent call last):
File "D:\jlandercy\src\python\cripi\transfert\000_TestInsertParam.py", line 33, in <module>
cur2.execute("INSERT INTO B(Num,Text) VALUES(?,?);",v);
pyodbc.ProgrammingError: ('The SQL contains 1 parameter markers, but 2 parameters were supplied', 'HY000')
或者連接失敗,但如果我發出了一個SELECT
它的工作原理。我究竟做錯了什麼。
您使用的是哪個版本的4d服務器?什麼版本的odbc驅動程序? – 2016-02-27 03:38:00