Проблема с загрузкой csv-файлов на sql server через Visual studio

#sql-server

#sql-сервер

Вопрос:

Я получаю приведенную ниже ошибку при загрузке csv-файлов на sql server (версия 12.0.5571), я использую Visual Studio 10 для загрузки данных. Ниже приведены ошибки, которые я получаю, нужна помощь, чтобы выяснить, где я ошибаюсь.

[Назначение OLE DB [529]] Ошибка: код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: «Собственный клиент Microsoft SQL Server 11.0» Hresult: 0x80004005 Описание: «Ошибка преобразования при преобразовании значения nvarchar ‘»201’ в тип данных int.».

[Назначение OLE DB [529]] Ошибка: код ошибки SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. «Назначение OLE DB.Сбой ввода [Ввод для OLE DB Destination]» произошел из-за кода ошибки 0xC020907B и расположения строки ошибки в «OLE DB Destination. Входные данные [Ввод назначения OLE DB]» указывает на сбой при ошибке. Произошла ошибка в указанном объекте указанного компонента. Перед этим могут быть опубликованы сообщения об ошибках с дополнительной информацией о сбое.

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

[Источник плоского файла [264]] Ошибка: попытка добавить строку в буфер задачи потока данных завершилась неудачей с кодом ошибки 0xC0047020.

[SSIS.Ошибка конвейера]: ошибка SSIS с кодом ошибки DTS_E_PRIMEOUTPUTFAILED. Метод PrimeOutput в исходном файле с плоским файлом вернул код ошибки 0xC02020C4. Компонент вернул код сбоя, когда механизм конвейера вызвал PrimeOutput(). Значение кода сбоя определяется компонентом, но ошибка является фатальной, и конвейер перестал выполняться. Перед этим могут быть опубликованы сообщения об ошибках с дополнительной информацией о сбое.

Ответ №1:

Ошибка назначения OLE DB [529]]: код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: «Собственный клиент Microsoft SQL Server 11.0» Hresult: 0x80004005 Описание: «Ошибка преобразования при преобразовании значения nvarchar ‘«201‘ в тип данных int.».

Значение «201 не может быть преобразовано в INT, поскольку оно начинается с символа двойной кавычки.

Возможно, это признак того, что текстовый определитель должен быть в виде двойной кавычки, аналогично:

https://i.stack.imgur.com/SG118.png

В противном случае рассмотрите возможность изменения неисправного сопоставления столбцов с числового на строковый тип

Комментарии:

1. @SaibalDutta, приятно, что проблема была решена. Можете ли вы затем пометить это сообщение как принятый ответ на ваш вопрос, чтобы эта тема была помечена как «отвеченная»