我想知道是否可以从同一个源限定符中的多个数据库中提取。您只能为每个源限定符指定一个数据库连接,所以我不确定这是否可能。
问问题
5135 次
4 回答
2
本,
如果它们都来自同一个数据库供应商并且设置了 db 链接,则可以在源限定符中使用 DBLINKS。
select a.col1,
b.col2
from schema1.table1 a,
schema1.table2@db2 b
where a.col3 = b.col4;
但是如果它们是异构数据库,我认为最好的实现方式是创建两个不同的源限定符(或根据您的要求和列数进行不同的查找)并使用参数文件/会话来提及不同的连接。
于 2011-03-08T22:01:35.817 回答
0
我将使用数据库链接来实现这一点,它允许跨两个数据库进行交互。尽管出于多种原因不是首选解决方案,但出于您的原因,这将帮助您实现您所说的。
但是,从理想的解决方案的角度来看,您不应该首先这样做:) 如果数据从两个不同的数据库中流过,请从两个不同的源限定符中获取它们,然后根据您的需要,进行连接器或查找(取决于功能要求)等。
于 2012-07-05T23:47:38.887 回答
0
假设用于连接的帐户在两个数据库中具有同等权限,则它是 DATABASE_NAME.TABLE_NAME
SELECT
a.id
,a.name
,a.company
,b.company_id
,b.company_name
,b.address
FROM
database1.users as a
JOIN
database2.companies as b ON a.company=b.company_id
于 2011-02-18T20:30:29.113 回答
0
如果登录至少具有读取访问权限并且模式位于相同的服务是可能的。
出于某种原因,我们的 DBA 不允许使用 dblink...
使用 informatica 的一个原因是您可以为不同的源创建特定的源限定符 (SQ),然后使用 Join/Union trans... 如果您在某些数据源中遇到问题,请相信我;修复它,故障排除会更容易。
还想象一下,您离开公司,其他团队接手该工作;图形和逻辑上会更容易维护......
于 2018-07-19T23:13:53.937 回答