Создание пакета служб SSIS для интеграции баз данных MSSQL и MySql

Я пытаюсь создать пакет служб SSIS для интеграции между MSSQL и MYSQL. У меня нет предыдущего опыта работы со ставками или службами SSIS и следования приведенным здесь инструкциям.

Я добавил компоненты "Источник", "Поиск", "Условное разделение", "Назначение OLE DB" и "Команды OLE DB" в поток данных и настроил диспетчеры соединений и сопоставления столбцов для компонента "Условное разделение".

Отсюда я сталкиваюсь с двумя проблемами -

1) После настройки адресата OLE DB на компоненте отображается символ ошибки could not convert between unicode and non unicode string datatypes, Чтобы решить эту проблему, я попытался вставить компонент преобразования данных между условным разделением и назначением и настроил его для проблемного столбца. Но это, похоже, не помогает

2) При настройке команды OLE DB в правом столбце на вкладке Сопоставления столбцов отображаются нулевые столбцы. Я добавил команду Sql с вопросительными знаками, поэтому я думаю, что она должна показывать столбцы с именами "Param_0", "Param_1" и т. Д., Если я не ошибаюсь. Я даже пытался добавить их вручную на вкладке свойств ввода и вывода, но затем он показывает предупреждение, external columns for OLE DB command are out of sync with data source

Что мне здесь не хватает?

Спасибо

2 ответа

То, как вы описываете свою первую проблему, звучит так, как будто она должна работать. Вот пара вещей, чтобы проверить.

  1. Компонент преобразования данных создает новый столбец для преобразованных данных. Убедитесь, что вы ссылаетесь на него в ваших следующих трансформациях и месте назначения.
  2. Щелкните правой кнопкой мыши компонент преобразования данных и выберите "Расширенный редактор". Выберите вкладку Свойства ввода и вывода в Расширенном редакторе. Разверните ветвь "Преобразование данных" в древовидном представлении и выберите новый столбец. Убедитесь, что в свойствах типа данных указан тип данных, который вы также хотите преобразовать. Если эти значения не верны, то что-то не так с настройкой в ​​компоненте.

Для вашей второй проблемы проблема может быть вызвана ошибкой со значением SqlCommand. Во-первых, убедитесь, что на вкладке "Диспетчер соединений" правильно настроен диспетчер соединений. Перейдите на вкладку "Сопоставление столбцов". В нижней части формы может появиться предупреждающее сообщение о том, что инструкция SQL не может быть подготовлена. Другими словами, SSIS не может понять, что должно делать это заявление. Устраните все проблемы с оператором SQL и вернитесь на вкладку Column Mappings. Столбцы появятся после анализа оператора SQL.

Если вы хотите избежать проблем с конвертацией, измените типы столбцов таблицы назначения с char/varchar на nchar/nvarchar. Я уверен, что вам понадобится использовать соединитель ADO для источника и назначения mysql, вы сможете читать данные из источника mysql и записывать в базу данных mssql без использования каких-либо компонентов, кроме компонентов источника и назначения.

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