Использование 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.