Я пишу набор данных в таблицу SQL Server 2008 в SSIS (Visual Studio 2008). Когда я сопоставляю свой набор данных с адресом OLE DB, я получаю ошибку усечения, потому что столбцы назначения OLE DB имеют длину 20. Это происходит для каждого столбца, но я буду показывать только образец из одного столбца ниже.Неверная длина внешнего столбца в SSIS OLE DB Назначение
Это столбец, как в определении SQL таблицы:
Column_name Type Length
FLAGVOEMPLOYEE nvarchar 40
Это метаданные (проверяется в редакторе каналов передачи данных) колонки я передаю к месту назначения в качестве входных данных:
Name Data Type Length
FlagVoEmployee DT_WSTR 40
Это является свойства столбцов в Advanced Editor> Входные и выходные свойства> OLE DB Destination Input> Внешние колонны:
Name DataType Length
FLAGVOEMPLOYEE Unicode string [DT_WSTR] 20
Я пробовал:
- вручную изменив атрибут длины, но она будет восстановить автоматически обратно 20
- Удаление пути и создает его снова
- Удаление назначения OLE DB и снова создает его
- Изменение режима доступа к данным для нормальной или быстрой загрузки
- Unmapping колонку и переотражениях
Я теряюсь, как я не знаю, как изменить любое другое имущество, которое могло бы помочь мне избежать усечения
Привет, спасибо за ответ, но нет, я не изменил таблицу SQL после. Хотя метаданные потока входных данных кажутся правильными. –
Вы удалили и воссоздали источник, и это не повлияло? Используете ли вы оператор SQL в источнике или только таблицу, выбранную из раскрывающегося списка? –
Я использую как таблицу, так и оператор SQL, поскольку я позже присоединяюсь к ним. Я не пытался их воссоздать. Вы предлагаете сделать это, даже если данные, которые я получаю в OLE DB Destination, верны? –