使用pyodbc,如果我尝试在日期字段上执行此代码:
cursor.execute('insert into test VALUES (?)', None)
...我得到pyodbc.Error: ('HY000', '[HY000] [SAS][SAS ODBC Driver][SAS Server]ERROR: Value 1 of VALUES clause 1 does not match the data type of the corresponding column in (-1) (SQLExecDirectW)')
,而如果我执行此操作:
cursor.execute('insert into test VALUES (null)')
......它有效。还有另一种方法可以执行此操作,这意味着我不需要检查我传递的参数吗?
答案 0 :(得分:2)
在我的源代码(Python 2.71 / pyodbc 2.1.8)中,使用MS Access库,以下代码没问题
st_dt=None
sql = 'insert into COM(poste,mydate) values (?,?)'
cursor.execute(sql,'1254',st_dt)
cnxn.commit()
其中mydate是没有默认值的Timestamp列。