SSIS ISNULL для пустой строки

Итак, в настоящее время я работаю над переходом со старого сервера базы данных Advantage на SQL 2005 с использованием SSIS 2008. Один из столбцов в старой базе данных Advantage является типом MEMO. По умолчанию это переводится в столбец DT_TEXT. Что ж, в новой базе данных мне не нужно это большое поле, но я могу ограничить его чем-то вроде VARCHAR (50). Я успешно настроил преобразование производного столбца, чтобы преобразовать это с помощью следующего выражения:

(DT_STR,50,1252)[ColumnName]

Теперь я хочу пойти еще дальше и заменить все значения NULL пустой строкой. Это может показаться достаточно простым с использованием выражения ISNULL ([ColumnName])? "" :( DT_STR, 50,1252) [ColumnName] выражение, но проблема в том, что назначение OLE DB содержит следующую ошибку

Невозможно преобразовать строки Unicode в строки, отличные от Unicode ...

Очевидно, все выражение ISNULL преобразует тип данных в строку Unicode [DT-WSTR]. Я пробовал различные приведения типов ко всему выражению или различным частям, но я не могу заставить тип данных соответствовать тому, что мне нужно.

Во-первых, возможно ли преобразовать тип DT_TEXT непосредственно в Unicode? Насколько я могу судить, слепки так не работают. Если нет, есть ли способ заставить выражение работать так, чтобы значения NULL преобразовывались в пустые строки?

Спасибо за вашу помощь!

6
задан AHiggins 21 September 2015 в 12:44
поделиться