2

こんにちは、Oracle Gateway を使用して、Oracle から SQL Server 2008 へのデータベース リンクを作成しました。

DB リンク:

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 Developer から次のようなクエリ エラーが表示されます。

ORA-00904: "CUSTOMERID": 識別子
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 Gateway、および ORA-00904 に関する Oracle フォーラムを参照してください。

于 2013-04-23T08:47:58.917 に答える