Создание пакета служб SSIS для интеграции баз данных MSSQL и MySql - PullRequest
1 голос
/ 14 января 2011

Я пытаюсь создать пакет служб 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 голос
/ 14 января 2011

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

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

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

0 голосов
/ 15 января 2011

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

...