1
pyodbc 및 4D에서 작동하는 매개 변수화 된 쿼리를 가져올 수 없습니다. 간단한 코드 예제 (mySQL 데이터베이스 작업). 표 B에는 제한이없는 두 개의 열이 있습니다.4D ODBC 서버를 다룰 때 pyodbc에서 매개 변수를 사용할 수 없습니다.
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 드라이버의 버전은 무엇입니까? –