【发布时间】:2010-04-08 19:35:58
【问题描述】:
我正在使用 pyodbc 与旧的 Access 2000 .mdb 文件通信。
我有一个光标,正在尝试执行此操作:
c.execute("INSERT INTO [Accounts] ([Name], [TypeID], [StatusID], [AccountCat], [id]) VALUES (?, ?, ?, ?, ?)", [u'test' , 20, 10, 4, 2])但是,这样做会导致
pyodbc.Error: ('HYC00', '[HYC00] [Microsoft][ODBC Microsoft Access Driver]可选功能未实现 (106) (SQLBindParameter)')我知道我可以简单地将问号更改为字面值,但根据我的经验,跨数据库正确转义字符串......并不漂亮。
php和mysql联手带来mysql_real_escape_string和朋友,但是我好像找不到pyodbc的转义值函数。
如果您能让我知道插入此数据(来自 python)的推荐方法是什么,那将非常有帮助。或者,如果你有一个 python 函数来转义 odbc 字符串,那也很好。
【问题讨论】:
标签: sql ms-access sql-injection escaping pyodbc