【问题标题】:"invalid use of vertical bars" error in Access queryAccess 查询中的“无效使用竖线”错误
【发布时间】:2013-11-24 15:27:06
【问题描述】:

这是我在 python 中使用 pyodbc 的选择

SELECT = "SELECT k.ID as id, k.Title as title, hash(k.ID || k.Title) as hash from kart as k"

我得到错误的地方

ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Microsoft Access Driver] 在查询表达式 'hash(k.ID || k.Title)' 中使用无效的竖线。 (-3100) ( SQLExecDirectW)")

你知道怎么解决吗?这个选择我用于我的 FDB 没有问题。问题必须在竖线和散列函数中。在 Access 中有什么替代方法?

【问题讨论】:

  • Access SQL 中没有hash() 函数。
  • 当您说您将它与“您的 FDB”一起使用时,您是指 Firebird 数据库吗?
  • 是的,确切地说,Firebird 数据库(但带有另一个 python 模块)。

标签: python ms-access pyodbc


【解决方案1】:

如 cmets 中所述,Access SQL 中没有内置的HASH() 函数。如果您需要创建一个对应于 Firebird 中 HASH() 函数返回的哈希值,那么您需要挖掘一些代码来自己进行计算。 here 可能有一些线索。

作为参考,双竖线 (||) 显然是 Firebird 中的字符串连接运算符。 Access SQL 中的等价物是与号 (&) 字符。

【讨论】:

    【解决方案2】:

    可能是电脑设置问题。请检查separator 设置。以下是导航步骤--控制面板-->区域和语言-->附加设置-->列表分隔符-->,(很可能设置为|

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多