2

我想知道是否可以从同一个源限定符中的多个数据库中提取。您只能为每个源限定符指定一个数据库连接,所以我不确定这是否可能。

4

4 回答 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 回答