我正在尝试使用适用于 Linux 的 Microsoft ODBC 驱动程序将 SqlAlchemy 与 PyOdbc 结合使用,但是当我使用 session.query()
函数时,出现以下错误:
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Invalid object name 'TableName'. (208) (SQLExecDirectW)")
所以我看到 orm 创建的查询在 TableName
上有方括号。
SELECT
[mb.Tecnico].cod_tecnico AS [mb.Tecnico_cod_tecnico],
[mb.Tecnico].nome AS [mb.Tecnico_nome],
[mb.Tecnico].login AS [mb.Tecnico_login],
[mb.Tecnico].senha AS [mb.Tecnico_senha]
FROM
[mb.Tecnico]
ORDER BY
[mb.Tecnico].nome
最佳答案
当标识符的名称不符合常规标识符的规则时,必须用双引号或括号分隔。
在 MSDN 上的“常规标识符规则”下
- Embedded spaces or special characters are not allowed.
关于python - SqlAlchemy 将方括号放在 sql server 2014 表名上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41874772/