Почему при запуске задания служб SSIS и указании редактору назначения создать новую таблицу по умолчанию определенные текстовые поля будут иметь тип данных NTEXT в новой таблице, даже если исходная таблица для рассматриваемого поля (полей) - varchar?
В моем ответе предполагается, что вы используете источник данных ADO.Net, а соответствующие поля VARCHAR (MAX).
Источники данных ADO.NET преобразуют строки в DT_WSTR (следовательно,N часть NTEXT).Сохранение не в Юникоде можно получить, изменив тип источника потока данных на OLEDB или преобразовав данные в преобразовании преобразования данных.
Этот ответ stackoverflow объясняет, как обрабатывает SQL ServerУАКСНАК (МАКС).Таким образом, я понимаю, что когда SSIS видит VARCHAR (MAX), он знает, что если данные больше 8000 символов, им потребуется преобразование.В результате SSIS автоматически преобразует данные в TEXT и позволяет SQL Server обрабатывать их, вставляя данные в место назначения VARCHAR (MAX).
потому что VARCHAR (x) и VARCHAR (MAX) - это разные типы SQL Server. Varchar (max) обрабатывается SQL Server как тип данных TEXT.
Вот почему varchar столбцы string [DT_STR] и varchar (max) text stream [DT_TEXT] в SSIS
varchar
string [DT_STR]
varchar (max)
text stream [DT_TEXT]