2

您好,我已经使用 Oracle 网关创建了从 Oracle 到 SQL Server 2008 的数据库链接。

数据库链接:

create public database link mssql
connect to "user" identified by "password" 
using 'gateway-SID';

当我使用简单的查询时,SELECT * FROM TABLE@MSSQL结果显然没问题。

当我从表中选择不同的列时会出现问题,例如

SELECT COLUMN_NAME FROM TABLE@mssql

我从我的 SQL 开发人员那里得到一个查询错误,说:

ORA-00904:“客户 ID”:无效标识符
00904。00000 -“%s:无效标识符”
原因:
操作:
行错误:1 列:8

有人可以帮我吗?

4

1 回答 1

3

(免责声明:我不是 SQL Server 专家,但我会试一试)

SQL Server 区分大小写 - 你必须引用你的列名,所以而不是

SELECT COLUMN_NAME FROM TABLE@mssql

你需要

SELECT "COLUMN_NAME" FROM TABLE@mssql

甚至

SELECT "COLUMN_NAME" FROM "TABLE"@mssql

请参阅有关 SQL Server、Oracle 网关和 ORA-00904 的 Oracle 论坛

于 2013-04-23T08:47:58.917 回答