可以链接到另一个数据库链接?

时间:2010-01-19 15:59:49

标签: oracle

我们在Oracle数据库中有一个现有的数据库链接,它链接到Sql Server数据库中的数据。现在,第二个Oracle数据库需要使用相同的数据。由于安全设置,第二个Oracle数据库无法“看到”Sql Server数据库,但它可以看到第一个Oracle数据库。

如果我们在第二个Oracle数据库中创建指向第一个Oracle数据库的数据库链接,我们是否可以通过2个数据库链接从第二个Oracle数据库中的Sql Server数据库查询数据?查询语法是这样的:

SELECT * FROM myTable@2ndLink@1stLink

以前有人做过这样的事吗?

2 个答案:

答案 0 :(得分:3)

Vincent的解决方案将起作用,另一种解决方案是创建同义词而不是视图。

DB1:
CREATE SYNONYM X FOR MyTable@sqlServerDB

DB2:
(assumes db link to DB1 connects as owner of synonym)
SELECT * from X@DB1

答案 1 :(得分:2)

我不确定这个synthax会起作用(尽管测试它会很有趣我现在不能这样做)。但是,即使它不起作用,您仍然可以在数据库1中创建一个指向SQL Server数据库中的表的视图。从数据库2,您可以查询:

SELECT * FROM myView@db1

这将指向正确的表格。