我正在使用pyodbc python模块。
当我使用SELECT = "SELECT k.Poznámka as poznamka from karta as k"
时,我收到错误
错误:('07002','[07002] [Microsoft] [ODBC Microsoft Access驱动程序]参数太少。预期1.(-3010)(SQLExecDirectW)')
问题是名字“Poznámka”和“á”。当我使用相同的选择与字段标题没有变音符号例如k.Name一切正常。
请问这是什么?
答案 0 :(得分:1)
对于它的价值,下面的代码对我没有错误:
# -*- coding: cp1252 -*-
import pyodbc
cnxn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\Public\\Database1.accdb;')
cursor = cnxn.cursor()
cursor.execute("SELECT k.Poznámka as poznamka from karta as k")
while 1:
row = cursor.fetchone()
if not row:
break
print row.poznamka
cnxn.close()
我的Python源文件编码为UTF-8,以下内容对我有用:
# -*- coding: UTF-8 -*-
import pyodbc
cnxn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\Public\\Database1.accdb;')
cursor = cnxn.cursor()
sql = u"SELECT k.Poznámka as poznamka from karta as k"
cursor.execute(sql.encode('cp1252'))
while 1:
row = cursor.fetchone()
if not row:
break
print row.poznamka
cnxn.close()