【问题标题】:FreeTDS SQL Server Invalid data typeFreeTDS SQL Server 无效的数据类型
【发布时间】:2012-09-07 20:58:25
【问题描述】:

我正在使用 Ubuntu。我想在 django 中使用 pyodbc 访问 Microsoft sql 数据库。我安装了所有要求。为此,我写了这个

cursor.execute('SELECT Id FROM %s' %table_name) 

我收到错误

[HY004] [FreeTDS][SQL Server]Invalid data type (0) (SQLBindParameter)')

但是,当我尝试这个时

cursor.execute('SELECT * FROM mytable')

它工作正常。为什么我看到这个错误,有没有办法解决这个问题?

【问题讨论】:

  • 当我也尝试这个 cursor.execute('SELECT Id FROM ?' ,table_name) 它也不起作用。请您提供该命令的等效项吗?

标签: django linux pyodbc


【解决方案1】:

SQL Server 不支持表名的变量。尝试将整个语句构建为字符串,然后执行它。

【讨论】:

  • 我该怎么做?你有例子吗?
  • 你的意思是这样,我试过那个但没有成功........sql="SELECT Id FROM ?" cursor.execute(sql,table_name)
  • @JohnSmith - '?'表示参数占位符。如上所述,SQL Server 不支持identifiers 的参数。
猜你喜欢
  • 2014-12-11
  • 2018-04-23
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2017-06-06
相关资源
最近更新 更多