Oracle 到 SQL Server ODBC 链接 - 使用 WHERE 子句时标识符无效



我需要使用 ODBC 数据库链接从 Oracle 中的 SQL Server 查询数据。 我已经在 Oracle 中创建了必要的配置,以允许我访问 SQL Server 数据库并查询数据。

当我这样做时:

select * from table@ODBC_LINK

我返回所有行。

当我这样做时:

select * from table@ODBC_LINK WHERE [Field] = 'Some Value'

我得到一个

ORA-000904 错误;"字段"标识符无效。

字段名称是 SQL 源数据库/表中的有效字段,但我做什么并不重要,我无法使用 WHERE 子句,因为这总是给我相同的 ORA 错误。

使用 Oracle XE 11g 和 SQL Server 2012。

是什么导致了我的问题?

您的查询是在Oracle而不是SQL Server中运行的。 该表来自 SQL Server,但不是分析器。

因此,首先尝试不要转义字符:

select * from table@ODBC_LINK WHERE Field = 'Some Value'

如果需要对名称进行转义,请使用Oracle转义字符:

select * from table@ODBC_LINK WHERE "Field" = 'Some Value'

相关内容

  • 没有找到相关文章

最新更新