【问题标题】:Query from SQL Server tables in Oracle using ODI使用 ODI 从 Oracle 中的 SQL Server 表中查询
【发布时间】:2020-05-28 07:23:22
【问题描述】:

我在 Oracle 中有一个数据库,在 SQL Server 中有一个数据库。

我想在 Oracle 中编写一个查询,我需要在其中使用一个 SQL Server 表。

在我使用数据库链接之前,但现在我必须使用 ODI(Oracle 数据集成器)来做到这一点。

我之前用的方式:

      CREATE PUBLIC DATABASE LINK "DBLINK"
       CONNECT TO "MatrisApp" IDENTIFIED BY VALUES ':1'
       USING 'dg4msql';



INSERT

    INTO everyday_deposit_temp ***/*this is a table in oracle*/***
      (
        "DEP_ID",
        "REF_DEPOSIT_TYPE",
        "REF_DEPOSIT_SUB_TYPE",
        "LEDGER_CODE_SELF"

)
    SELECT "DEP_ID",
      "REF_DEPOSIT_TYPE",
      "REF_DEPOSIT_SUB_TYPE",
      "LEDGER_CODE_SELF"

    FROM dbo.vw_deposit_changed@dblink  

请帮我解决这个问题

【问题讨论】:

    标签: sql-server oracle oracle-data-integrator


    【解决方案1】:

    通过 ODI 从 MS SQL Server 获取数据到 Oracle 的最常用方法是使用LKM MSSQL to ORACLE (BCP SQLLDR)

    现在,如果您真的想使用 dblink,我会尝试这种方法:

    1. 复制要使用的 Oracle IKM
    2. 在定义选项卡中,选中多连接复选框并将 Microsoft SQL Server 设置为源技术。
    3. 在“选项”选项卡中,添加具有值类型的新选项 DBLINK_NAME。
    4. 在“任务”选项卡中,找到负责插入的任务并编辑目标命令,将其添加到表名之后:@<%=odiRef.getOption("DBLINK_NAME")%>
    5. 使用新的 IKM 创建映射。在 Physical 选项卡中,单击目标表并在 Option 中添加 dblink 名称。

    【讨论】:

      猜你喜欢
      • 2021-10-20
      • 2015-10-28
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      相关资源
      最近更新 更多