Импорт данных SSIS из MySql - PullRequest
       28

Импорт данных SSIS из MySql

0 голосов
/ 17 декабря 2009

Я работаю с SSIS и пытаюсь импортировать данные из MySql в SQL Server. У меня возникают проблемы при попытке конвертировать datetime mySql в Datetime SQL Server. Есть предложения?

Ответы [ 4 ]

0 голосов
/ 30 апреля 2013

Мне понадобилось несколько дней, чтобы понять ... поэтому я решил поделиться своими заметками


Как подключить и загрузить данные из MySQL в SQL Server

  1. Загрузите 32-разрядный драйвер ODBC.
    зайдите на сайт MySQL и загрузите: «mysql-connector-odbc-5.2.4-ansi-win32.msi» ПРИМЕЧАНИЕ. Не используйте 64-разрядный драйвер в BIDS 2008. BIDS 2008 является 32-разрядным. При создании диспетчера соединений служб SSIS вы получите ошибку несоответствия: «Указанный DSN содержит несоответствие архитектуры между драйвером и приложением»

  2. Создание пользовательского DSN Вам нужно открыть с помощью инструмента администрирования Windows 32 ODBC. НЕ открывайте обычного администратора ODBC в панели управления. Откройте администратор ODBC, расположенный здесь: c: \ Windows \ SysWOW64 \ odbcad32.exe. Если вы используете администратора ODBC по умолчанию ... он не будет работать. Кроме того, вы должны создать «DSN пользователя», а не системный DSN. В противном случае он не будет отображаться в службах SSIS. ПРИМЕЧАНИЕ. Экраны выглядят одинаково, поэтому вы не сможете узнать, используете ли вы 32-битный инструмент ODBC Admin или нет.

  3. Создайте новый пакет служб SSIS и создайте диспетчер соединений ADO.NET:

  4. Изменение свойств источника ADO.NET. Вы получите ошибки проверки, и ваш пакет не будет запущен. Вам нужно изменить «ValidateExternalMetadata» на «ЛОЖЬ» (в диалоговом окне «Расширенный редактор») источника ADO.NET. Он также выдаст ошибку метаданных… это нормально… просто нажмите ОК. Он по-прежнему будет извлекать метаданные (имена столбцов / типы данных). Вы не можете выбрать таблицы, как в SQL-сервере. Вам нужно ввести оператор выбора SQL.

  5. Запустите пакет, и он должен работать и загружаться нормально.

0 голосов
/ 17 декабря 2009

В чем проблема? Какой тип данных SSIS вы используете? DT-DBTIMESTAMP должно работать для обоих.

0 голосов
/ 17 декабря 2009

Можете ли вы привести пример ошибки или проблемы? Я обнаружил, что некоторые значения в MySQL были вне диапазона SQL Server. В этих случаях я использовал NULLIF на стороне MySQL, чтобы сначала удалить неверные значения. Решение Рафаля Циолковского о преобразовании в строки также может сработать, но я лично предпочел бы отменить преобразование в запрос MySQL, если оно влияет только на столбцы данных.

0 голосов
/ 17 декабря 2009

Попробуйте преобразовать дату в строку, а затем снова в дату и время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...