从Oracle到MS Server的数据库链接

时间:2019-01-30 13:06:05

标签: sql-server oracle linked-server dblink

我是这个论坛的新手,已经搜索了45分钟,以找到针对我的问题的解决方案。我希望你能帮助我。 在Oracle服务器(Microsoft SQL Database)上安装了到远程Oracle 12c的网关。 tsnnames.ora文件已正确设置。 对于连接,我创建了一个数据库链接(在Oracle DB中),如下所示:

CREATE DATABASE LINK TEL CONNECT TO "fb_B2C" IDENTIFIED BY "passwort" USING 'dg1msql';

当我现在执行Select语句时:

SELECT "name" FROM "sys"."databases"@TEL

它向我显示了相应的数据库。除其他外,我可以看到AB_Colors数据库。 现在,我想在AB_Colors数据库中选择一个视图。

由于我可以通过Excel连接到该数据库,因此我知道在数据库AB_Colors中有10个视图(A,B,C,..)。我想通过DB LInk从数据库AB_Colors中选择ViewC。

视图的所有者为b2b。 我该如何制定select语句来做到这一点? 我已经尝试过不同的著作:

SELECT * FROM b2b.C@TEL;

SELECT * FROM "AB_colors"."b2b"."C"@TEL;

SELECT * FROM [AB_Colors].[b2b].[C]@TEL;

常见错误消息是:View/Table does not exist

非常感谢您的帮助,

Fedja

1 个答案:

答案 0 :(得分:0)

这是正确的格式

SELECT * FROM "b2b"."C"@TEL;

问题可能是因为您要选择的数据库不是在dg1msql网关中指定的数据库。您无法将数据库名称添加到查询中,因此必须在网关连接中指定它。

这是在

中定义的
$ORACLE_HOME/dg4msql/admin/initdg4msql.ora

您应该在哪里检查HS_FDS_CONNECT_INFO