【问题标题】:Viewing SQL Server data to Oracle查看 SQL Server 数据到 Oracle
【发布时间】:2013-04-16 08:57:34
【问题描述】:

您好,我已经使用 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

谁能帮我解决这个问题?

【问题讨论】:

    标签: sql sql-server oracle oracle-sqldeveloper gateway


    【解决方案1】:

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

    SQL Server 区分大小写 - 您必须引用列名,所以不要用

    SELECT COLUMN_NAME FROM TABLE@mssql
    

    你需要

    SELECT "COLUMN_NAME" FROM TABLE@mssql
    

    甚至

    SELECT "COLUMN_NAME" FROM "TABLE"@mssql
    

    Oracle forums on SQL Server, Oracle Gateway and ORA-00904

    【讨论】:

    • 实际上你没有“必须”引用对象名称 - 只是在某些情况下它们可能区分大小写(在 SQL Server 中),因此不清楚什么是引用的对象 - 幸运的是,您可以使用引号使名称更清晰,就像在 OS shell 中一样...
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    相关资源
    最近更新 更多