2016-06-08 3 views
1

Screenshot Привет, Я выполняю несколько DML в преобразовании команды OLEDB, используя источник с плоскими файлами. Подключив диспетчер соединений плоских файлов и диспетчеров соединений OLE DB и используя преобразование столбцов столбцов, вы сможете правильно упорядочить все столбцы из плоских файлов с помощью столбцов OLE DB, изменив тип данных, длину и код-1252. Эти ошибки произошли.OLEDB Код ошибки: 0x80040E21

[Команда OLE DB [60]] Ошибка: код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80040E21. Имеется запись OLE DB. Источник: «Microsoft SQL Server Native Client 11.0» Hresult: 0x80040E21 Описание: «Недопустимое значение символа для спецификации литья».

[Команда OLE DB [60]] Ошибка: Был ошибка с OLE DB Command.Inputs [Команда OLE DB Input] .Columns [upt_Gender] на OLE DB Command.Inputs [OLE DB Command Input ]. Возвращаемый статус столбца: «Значение не может быть преобразовано из-за потенциальной потери данных».

screenshot

ответ

1

В вашем Destination ("OLE DB Command"), вы пытаетесь передать значение в upt_Gender столбец, который не соответствует типу данных. Либо это неправильный тип данных, либо строка слишком длинная для столбца.

Либо отфильтруйте данные, которые не соответствуют столбцу адресата, либо измените столбец назначения, чтобы принять входящие данные.

1

Когда вы получаете этот тип ошибки, это обычно признак несовместимых данных типов/размеров. Excel иногда автоматически преобразует данные символа в числовые данные, которые могут вызвать проблему с импорта.

Я только что добавил узел преобразования данных и изменил его тип в текстовом потоке Юникода на строку Юникод и, похоже, работает.