Запрос из SQL серверных таблиц в Oracle с использованием ODI - PullRequest
0 голосов
/ 28 мая 2020

У меня есть база данных в Oracle и база данных на SQL сервере.

Я хочу написать запрос в Oracle, и мне нужно использовать в нем одну из SQL таблиц Serever .

Раньше я использовал ссылку на базу данных, но теперь я должен сделать это с помощью ODI (Oracle Data Integrator).

Как я использовал раньше:

      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  

Пожалуйста, помогите мне с этим

1 Ответ

0 голосов
/ 28 мая 2020

Самый распространенный способ получить данные с MS SQL Server на Oracle через ODI - использовать LKM MS SQL to ORACLE (BCP SQLLDR) .

Теперь, если вы действительно хотите использовать dblink, я бы попробовал следующий подход:

  1. Дублируйте Oracle IKM, который вы хотите использовать
  2. На вкладке определения отметьте Multi -Connections и установите Microsoft SQL Server для исходной технологии.
  3. На вкладке «Параметры» добавьте новую опцию DBLINK_NAME с типом значения.
  4. На вкладке «Задачи» найдите ответственную за задачу. вставки и отредактируйте целевую команду, добавив ее после имени таблицы: @<%=odiRef.getOption("DBLINK_NAME")%>
  5. Создайте сопоставление, используя новый IKM. На вкладке Physical щелкните целевую таблицу и добавьте имя dblink в поле Option.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...