【问题标题】:Is it possible to transfer data from Oracle to Teradata or vice-versa using JDBC?是否可以使用 JDBC 将数据从 Oracle 传输到 Teradata,反之亦然?
【发布时间】:2016-10-11 03:55:14
【问题描述】:

我正在研究将数据从 Oracle 传输到 Teradata 的工具,并正在考虑使用 java-JDBC,但是当我查看互联网时,我找不到任何与之相关的东西,但我确实发现数据需要在它可以移动到不同的 RDBMS 之前进行转换,因此我只想知道它是否可能,如果是,那么将不胜感激。

【问题讨论】:

    标签: java oracle jdbc teradata


    【解决方案1】:

    Oracle 和 Teradata 数据库都支持 JDBC。

    所以,如果您的问题是您是否可以将数据从一个数据库移动到另一个开发您自己的工具的数据库,是的,您可以。

    但是,有许多第三方工具可用于将转换和加载 (ETL) 数据从一个 JDBC 兼容数据库提取到另一个数据库。

    您可以开始使用 Oracle SQL Developer 分析您必须移动的数据并进行一些测试。它也支持连接到 Teradata(不仅是 Oracle)。即使不是一个“纯”的 ETL 工具,我认为它也可能是一个很好的起点: http://www.oracle.com/technetwork/database/migration/jdbc-migration-1923524.html

    【讨论】:

    • 嗨,彼得,我有一个后续问题,如果我使用 JDBC,那么我必须自己处理转换还是 JDBC 会处理它?
    • 如果源数据库结构与目标数据库结构相同,则不需要进行这种转换。您可以使用 JDBC 在两个数据库之间“复制”数据。 ETL 中的术语转换,用于与从一个在线处理数据库移动到另一个分析数据库时应用于数据的聚合和其他数学相关,这是 ETL 最常见的应用。在大多数情况下,Teradata 用于此目的。如果这是您的情况,您将需要进行转换......而 JDBC 对此没有“魔力”:您必须自己编写 Java 代码。
    【解决方案2】:

    这取决于。 Teradata JDBC 驱动程序支持 FastLoad API,与直接的逐行操作相比,它为您提供了一些批量加载优势。它不如使用 Teradata 的 Parallel Transporter 或 FastLoad 实用程序有效,但它不会像为大数据量执行单例插入一样让您的 DBA 感到不安。 FastLoad 将支持加载空表。

    正如 Peter 所提到的,适当的 ETL 过程可能更合适,尤其是在数据量很大或者这是一个可重复的过程时。 Teradata 的 Parallel Transporter 根据您在 Teradata 中加载的数据量和目标,为您提供各种加载运算符。 (即低容量与高容量,空与填充的目标表等)

    【讨论】:

      猜你喜欢
      • 2013-11-25
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 2018-06-20
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多