Можно ли ссылку на другую ссылку на базу данных? - PullRequest
1 голос
/ 19 января 2010

У нас есть ссылка на базу данных в базе данных Oracle, которая ссылается на данные в базе данных Sql Server.Теперь вторая база данных Oracle должна использовать те же данные.Из-за настройки безопасности вторая база данных Oracle не может «видеть» базу данных Sql Server, но она может видеть первую базу данных Oracle.

Если мы создадим ссылку на базу данных во 2-й базе данных Oracle, которая указывает на 1-ю базу данных Oracle, сможем ли мы запрашивать данные из базы данных Sql Server во 2-й базе данных Oracle, пройдя через 2 ссылки на базу данных?Будет ли синтаксис запроса выглядеть так:

SELECT * FROM myTable@2ndLink@1stLink

Кто-нибудь делал что-то подобное раньше?

Ответы [ 2 ]

3 голосов
/ 19 января 2010

Решение Винсента будет работать, а другое решение - создать синоним вместо представления.

DB1:
CREATE SYNONYM X FOR MyTable@sqlServerDB

DB2:
(assumes db link to DB1 connects as owner of synonym)
SELECT * from X@DB1
2 голосов
/ 19 января 2010

Я не уверен, что этот синтакс будет работать (хотя было бы интересно проверить это, я не могу сделать это прямо сейчас). Однако, даже если это не сработает, вы все равно можете создать представление в базе данных 1, которое указывает на таблицу в базе данных SQL Server. Из базы данных 2 вы можете запросить:

SELECT * FROM myView@db1

Это указало бы на правильную таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...