0

我需要使用 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。

是什么导致了我的问题?

4

1 回答 1

0

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

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

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

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

select * from table@ODBC_LINK WHERE "Field" = 'Some Value'
于 2018-06-06T10:42:30.213 回答