我需要使用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。
是什么导致了我的问题?
答案 0 :(得分: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'