3

我有点挑战。我必须整合来自三个不同数据库(Oracle、SQL Server 和 Teradata)的一些数据。

如何根据 Oracle 的检索从 TeraData 和 SQL Server 检索数据?

例如,Oracle 有销售信息,TeraData 有客户信息,SQL Server 有员工信息。

我从具有客户端 ID 列表的 Oracle 中提取销售列表,并希望根据这些客户端 ID 限制 TeraData 拉取。

然后,客户端有一个与 SQL Server 相关联的员工标识符。

我可以单独连接每个,但想限制每个的拉动。

Oracle 返回大约 3,000 行,而 TeraData 本身返回 400,000 行。Oracle 到 TeraData 是多对​​一的关系(许多 oracle 记录到 1 个 TeraData 记录)。

我尝试使用数据源合并选项,但它单独运行每个数据源,然后合并它们,由于 TeraData 中的记录数量,最终会大大增加处理时间。

感谢您的帮助。谢谢。

4

1 回答 1

0

如果你会通过一些带有巨大 IN 字符串的 SQL 来减少记录数: SELECT Sales.* FROM Teradata.Sales WHERE ClientID IN () 你需要在运行之前从其他东西预先生成一个静态 SQL 字符串太数据。如果它很大,您可能会遇到 SQL 长度问题。

您是否有从 Oracle 检索唯一客户端 ID 的 SQL 语句?

SELECT DISTINCT ClientID FROM SCHEMA.SALES
于 2013-05-11T07:39:43.103 回答