pyodbc execute命令不接受?参数正确



此代码:

cursor.execute('select RLAMBD from ?', OPTable)
print cursor.fetchone().RLAMBD

产生此错误:

ProgrammingError: ('42S02', '[42S02] [Oracle][ODBC][Ora]ORA-00903: invalid table namen (903) (SQLExecDirectW)')

可选是我从另一个数据库查询中构建的字母数字字符串,其中包含我要选择的表名。

以下代码在同一脚本中正常工作。

sql = 'select RLAMBD from ' + OPTable
cursor.execute(sql)
print cursor.fetchone().RLAMBD

我想以这种方式构建SQL语句并不是什么大不了的,但是我只是不明白为什么它不接受?参数。我什至在同一脚本中还有另一个查询?参数化,正常工作。但是,使用RAW_INPUT函数生成工作查询的参数。这两个字符串的格式之间是否有一些细微的区别,这阻止了我使查询工作的工作?谢谢你们。

我正在运行Python 2.7和PyodBC 3.0.10。

参数占位符不能用于表示对象名称(例如表或列名称)或SQL关键字。它们仅用于传递数据,例如,数字,字符串,日期等。

相关内容

  • 没有找到相关文章

最新更新