Проблема импорта данных таблиц SQL Server и Excel с помощью служб SSIS

Я использую SSDT для Visual Studio 2013 и SQL Server 2014. Я работаю над импортом данных из электронных таблиц Excel в таблицы SQL Server, используя источник Excel и назначение OLE DB. Я получаю эту String or binary data would be truncated.ошибку в назначении OLE DB. Я проверил все, и у меня нет VARCHARполей более 255 и использование IMEX = 1в строке подключения Excel. Я пытался импортировать одно поле за раз для тестирования и все равно получаю ту же ошибку и не уверен, что столбец, который есть.

Ошибка служб SSIS:

[Назначение OLE DB [28]] ошибка: код ошибки служб SSIS DTS_E_OLEDBERROR. —
Произошла ошибка OLE DB. Код ошибки: 0x80004005. Запись OLE DB
доступный. Источник: «собственный клиент Microsoft SQL Server 11.0»
Hresult: 0x80004005 описание: «оператор был
завершенный.». Доступна запись OLE DB. Источник: «Microsoft SQL
Собственный клиент сервера 11.0 «Hresult: 0x80004005 описание:» строка
или двоичные данные будут усечены.».

[службы SSIS.Конвейер] ошибка: код ошибки служб SSIS DTS_E_PROCESSINPUTFAILED. Этот
Сбой метода ProcessInput для компонента «назначение OLE DB» (28)
с кодом ошибки 0xC0202009 при обработке ввода » назначение OLE DB
Input » (59). Идентифицированный компонент вернул ошибку
ProcessInput метод. Ошибка специфична для компонента, но
ошибка является фатальной и приведет к остановке выполнения задачи потока данных.
Могут быть сообщения об ошибках, опубликованные до этого с дополнительной информацией
о провале.

1 ответ

  1. Если вы импортируете одно поле за раз, поле, которое выдает ошибку, должно быть столбцом с проблемой.
    То, что я испытал, это файл excel имеет кавычки («») или специальный символ в поле и объединяет два поля как одно при загрузке в таблицу SQL.
    Поэтому я сохраняю файл excel как CSV и импортирую CSV.