Я пытаюсь создать модули загрузки знаний (LKM), которые передают данные (около 2–3 миллионов строк) из таблицы, расположенной в Oracle (служба источника), в базу данных MS SQL в Azure (промежуточная область). Поэтому я не могу использовать, например, LKM SQL для AZURE, потому что он слишком медленный.
В руководстве я нашел информацию, что используется лучшее решение:
5.1.3.3 Загрузка с использованием Unload / Load
Когда исходный набор результатов находится на удаленном сервере базы данных, альтернативное решение использования агента для
передать данные, чтобы выгрузить их в файл, а затем загрузить этот файл
в области постановки. Обычно это самый эффективный метод, когда
работа с большими объемами по разнородным технологиям. За
Например, вы можете выгрузить данные из источника Microsoft SQL Server, используя
bcp и загрузите эти данные в промежуточную область Oracle, используя SQL * Loader.
Шаги LKM, которые следуют этой стратегии, часто следующие:
- Удалите и создайте загрузочный стол в области подготовки
- Выгрузка данных из источника во временный плоский файл с помощью любой утилиты выгрузки базы данных (например, Microsoft SQL Server).
bcp или DB2 unload) или встроенный инструмент OdiSqlUnload.
- Создание сценария, необходимого для утилиты загрузки для загрузки временного файла в таблицу загрузки.
- Выполните соответствующую команду операционной системы, чтобы запустить загрузку и проверить ее код возврата.
- Возможно, проанализируйте все файлы журналов, созданные утилитой, для обработки ошибок.
- Удалить таблицу загрузки после завершения интеграции KM и удалить временный файл.
При использовании стратегии выгрузки / загрузки данных
нужно поставить дважды: один раз во временный файл и второй раз
в таблице загрузки, что приводит к дополнительному использованию дискового пространства и
потенциальные проблемы эффективности. Более эффективной альтернативой было бы
используйте конвейеры между утилитой "unload" и утилитой "load".
К сожалению, не все операционные системы поддерживают файловые
трубопроводы (ФИФО).
Если я правильно понимаю примечание выше (пункты 2, 3, 4), поток будет выглядеть так:
Source table(Source Service) -> Flat file(Staging Area on Azure) -> Azure table(Staging Area on Azure)
Я нашел OdiSqlUnload объект, я пытаюсь выгрузить данные в файл, и я следую:
http://odiexperts.com/calling-odisqlunload-using-odi-procedure-with-no-hardcoded-password/
Мои настройки:
![enter image description here](https://i.stack.imgur.com/p5Gk4.png)
Но это не работает. Я получаю сообщение об ошибке:
Caused By: com.sunopsis.sql.SnpsMissingParametersException: ODI-30011: Parameter cannot be null:-DRIVER
Можете ли вы дать мне несколько советов, как я могу справиться с этим или аналогичным примером работы?