Создание пакета служб 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 ответа
То, как вы описываете свою первую проблему, звучит так, как будто она должна работать. Вот пара вещей, чтобы проверить.
- Компонент преобразования данных создает новый столбец для преобразованных данных. Убедитесь, что вы ссылаетесь на него в ваших следующих трансформациях и месте назначения.
- Щелкните правой кнопкой мыши компонент преобразования данных и выберите "Расширенный редактор". Выберите вкладку Свойства ввода и вывода в Расширенном редакторе. Разверните ветвь "Преобразование данных" в древовидном представлении и выберите новый столбец. Убедитесь, что в свойствах типа данных указан тип данных, который вы также хотите преобразовать. Если эти значения не верны, то что-то не так с настройкой в компоненте.
Для вашей второй проблемы проблема может быть вызвана ошибкой со значением SqlCommand. Во-первых, убедитесь, что на вкладке "Диспетчер соединений" правильно настроен диспетчер соединений. Перейдите на вкладку "Сопоставление столбцов". В нижней части формы может появиться предупреждающее сообщение о том, что инструкция SQL не может быть подготовлена. Другими словами, SSIS не может понять, что должно делать это заявление. Устраните все проблемы с оператором SQL и вернитесь на вкладку Column Mappings. Столбцы появятся после анализа оператора SQL.
Если вы хотите избежать проблем с конвертацией, измените типы столбцов таблицы назначения с char/varchar на nchar/nvarchar. Я уверен, что вам понадобится использовать соединитель ADO для источника и назначения mysql, вы сможете читать данные из источника mysql и записывать в базу данных mssql без использования каких-либо компонентов, кроме компонентов источника и назначения.