2013-04-23 3 views
2

Здравствуйте, я создал ссылку на базу данных с Oracle на SQL Server 2008 с использованием Oracle Gateway.Просмотр данных SQL Server для Oracle

DB LINK:

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

Когда я использую простой запрос, как SELECT * FROM [email protected] результаты явно хорошо.

Проблема возникает, когда я выбираю отдельный столбец из таблицы, например.

SELECT COLUMN_NAME FROM [email protected] 

Я получаю ошибку запроса из моего SQL Developer говоря:

ORA-00904: "CUSTOMERID": недопустимый идентификатор
00904. 00000 - "% s: неверный идентификатор"
Причина :
Действие:
Ошибка в строке: 1 колонка: 8

Может ли да, помогите мне в этом, пожалуйста?

ответ

2

(Отказ от ответственности: Я не эксперт SQL Server, но я дам ему идти)

SQL Server чувствителен к регистру - вы должны процитировать ваши имена столбцов, поэтому вместо

SELECT COLUMN_NAME FROM [email protected] 

вам нужно

SELECT "COLUMN_NAME" FROM [email protected] 

или даже

SELECT "COLUMN_NAME" FROM "TABLE"@mssql 

См. Oracle forums on SQL Server, Oracle Gateway and ORA-00904

+0

Thanks Frank :) !! – charilaos13

+0

Фактически вы не имеете «процитировать» имена объектов - это просто, что в некоторых случаях они могут быть чувствительны к регистру (в SQL Server), и, таким образом, неясно, что такое объект, к счастью, вы можете использовать цитаты, чтобы сделать имена более четкими, например, в оболочках ОС ... –

Смежные вопросы