Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 проблема с unicode в SSIS 2005  [new]
ssis_ucod
Guest
Делаю импорт с помощью SSIS из текстовых файлов в 2005.
Все работало хорошо. Сейчас пришло изменение задачи: одно поле с определенного времени может содержать китайские иероглифы. Переделал пакет с учетом конвертации из юникод. Но вот беда: заказчик просит не менять тип полей таблицы в базе данных (там три поля и нужное изначально было nvarchar, остальные - varchar), но если я меняю только одно поле в пакете - SSIS выдает ошибку (что-то типа "не могу конвертировать остальные поля из текскт в юникод"). На тестовом сервере поменял тип всех столбцов таблицы на nvarchar - все заработало. Но, как выше было сказано: заказчик не хотел бы менять тип данных столбцов, которые не содежат спец. символов.

Вопрос : есть ли возможность импортировать в юникод не весь файл, а только определенный столбец. Может я чего-то не нашел?

Спасибо большое!
9 окт 13, 14:46    [14945152]     Ответить | Цитировать Сообщить модератору
 Re: проблема с unicode в SSIS 2005  [new]
kalimba
Member

Откуда:
Сообщений: 297
ssis_ucod
но если я меняю только одно поле в пакете - SSIS выдает ошибку (что-то типа "не могу конвертировать остальные поля из текскт в юникод").
Меняете где именно?
9 окт 13, 14:51    [14945202]     Ответить | Цитировать Сообщить модератору
 Re: проблема с unicode в SSIS 2005  [new]
ssis_ucod
Guest
kalimba,

сорри, не совсем правильно выразился. Нужный столбец таблицы (на стороне БД) - изначально был в nvarchar (если бы не был, то менял бы только его тип). А SSIS вынуждает меня менять на nvarchar типы всех столюцов таблицы.

Единственное же изменение в пакете в свойствах коннекшена к файлу: кодовая страница 1252 меняется на 65001.
9 окт 13, 14:59    [14945288]     Ответить | Цитировать Сообщить модератору
 Re: проблема с unicode в SSIS 2005  [new]
Derived Column
Guest
ssis_ucod
kalimba,

сорри, не совсем правильно выразился. Нужный столбец таблицы (на стороне БД) - изначально был в nvarchar (если бы не был, то менял бы только его тип). А SSIS вынуждает меня менять на nvarchar типы всех столюцов таблицы.

Единственное же изменение в пакете в свойствах коннекшена к файлу: кодовая страница 1252 меняется на 65001.

добавляйте в ssis явную конвертация юникода в 1252 через Derived Column

(DT_STR, «length», «code_page»)Field
9 окт 13, 15:14    [14945452]     Ответить | Цитировать Сообщить модератору
 Re: проблема с unicode в SSIS 2005  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
в SSIS есть специальный тип transformation - Data Conversion.
9 окт 13, 17:18    [14946584]     Ответить | Цитировать Сообщить модератору
 Re: проблема с unicode в SSIS 2005  [new]
Derived Column
Guest
Кот Матроскин
в SSIS есть специальный тип transformation - Data Conversion.

да, но почему-то он не умеет заменять поле, а всегда добавляет новое.
9 окт 13, 17:56    [14946829]     Ответить | Цитировать Сообщить модератору
 Re: проблема с unicode в SSIS 2005  [new]
Crimzic
Member

Откуда: Sydney
Сообщений: 59
Derived Column
да, но почему-то он не умеет заменять поле, а всегда добавляет новое.

Ну так вы используйте в SSIS новое поле вместо старого или переименуйте Output у Derived Column как вам надо.
10 окт 13, 07:30    [14948291]     Ответить | Цитировать Сообщить модератору
 Re: проблема с unicode в SSIS 2005  [new]
Клон деды
Member

Откуда:
Сообщений: 6904
Crimzic
Derived Column
да, но почему-то он не умеет заменять поле, а всегда добавляет новое.

Ну так вы используйте в SSIS новое поле вместо старого

если нужно преобразовать полей 20, и все они замечательно мапятся по имени на dest, "перекликивать" 20 связей влом


автор
или переименуйте Output у Derived Column как вам надо.

об этом удобстве Derived Column я и писал, вообще-то.
10 окт 13, 09:19    [14948505]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить