Я использую 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 метод. Ошибка специфична для компонента, но
ошибка является фатальной и приведет к остановке выполнения задачи потока данных.
Могут быть сообщения об ошибках, опубликованные до этого с дополнительной информацией
о провале.
Если вы импортируете одно поле за раз, поле, которое выдает ошибку, должно быть столбцом с проблемой.
То, что я испытал, это файл excel имеет кавычки («») или специальный символ в поле и объединяет два поля как одно при загрузке в таблицу SQL.
Поэтому я сохраняю файл excel как CSV и импортирую CSV.