Использование Informix dbaccess в SSIS для экспорта данных для импорта в SQL Server

В настоящее время у меня есть пакет служб SSIS, аналогичный описанному здесь, который циклически перебирает список таблиц в базе данных IBM DB2, экспортирует содержимое таблицы в текстовые файлы, используя "Передачу данных с сервера iSeries" для каждой таблицы, а затем импортирует их в SQL Server с помощью задачи массовой вставки.

Мы переходим к новой базе данных Informix 11.50 fc7w3 и хотели бы использовать пакет SSIS аналогичного характера для экспорта таблиц в SQL Server.

Я считаю, что мне нужно выполнить dbaccess с соответствующими файлами.sql, содержащими оператор UNLOAD.

Во-первых, будет ли возможно выполнить dbaccess через SSIS с аргументом файла.sql, содержащего оператор UNLOAD.

Во-вторых, какие аргументы или командную строку мне нужно будет выполнить.

Я пытаюсь проверить это на сервере, на котором установлен клиент IBM Informix и инструмент dbaccess, хотя при запуске этого инструмента я получаю следующую ошибку:

ОШИБКА: не удалось инициализировать подсистему безопасности. Убедитесь, что эта учетная запись обладает необходимыми привилегиями, и убедитесь, что значение INFORMIXSERVER существует в реестре и среде.

Любые предложения о том, как я могу исправить проблему выше? Я почти ничего не знаю об администрировании базы данных / сервера Informix.

Сервер, на котором я пытаюсь запустить инструмент dbaccess, - это Windows Server 2008 R2 с SQL Server 2008 R2.

1 ответ

Чтобы сделать это из служб SSIS, вы можете выполнить некоторый код java/python или любой другой, который подключается к Informix и возвращает данные в вашу файловую систему клиента, выполняя регулярный оператор выбора. Команда unload просто экспортирует данные в локальную файловую систему сервера Informix. Вы можете вызвать хранимую процедуру Informix, которая также может использовать команду unload. В этом случае вы можете получить доступ к выходным файлам через NFS/Samba и т. Д., Чтобы прочитать их через SSIS.

Другие вопросы по тегам