Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 VARCHAR::BYTE  [new]
Leonid Vorontsov
Member

Откуда: Рига
Сообщений: 321
Приветствую!

Исторически сложилась такая ситуация. В базе lv_lv.1257 в поле VARCHAR( 250 ) загружены данные в кодировке UTF-8. До сих пор эти строчки читались (с крякозябрами, естественно) с помощью родного ESQL/C, а уже на клиенте обрабатывались и приводились в божеский для пользователей вид. Но сейчас возникла необходимость прочитать их с помощью .NET, а он (гад такой) не может, валится. Есть уверенность, что если бы тип данных был BYTE, то проблем во время чтения не возникло бы. А вот теперь, внимание, вопрос. Нельзя ли как-то, по возможности, малой кровью, преобразовать VARCHAR в BYTE на лету, чтобы .NET не плевался? Ну, или с другой стороны - нельзя ли как-то объяснить .NETу, что ничего страшного и читать это можно?
8 янв 09, 15:09    [6655870]     Ответить | Цитировать Сообщить модератору
 Re: VARCHAR::BYTE  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Я так понимаю, что старый клиент тоже остается (т.е. поле varchar(250) должно остаться в БД) и одним махом сконвертировать varchar в byte нельзя ?
8 янв 09, 17:26    [6656432]     Ответить | Цитировать Сообщить модератору
 Re: VARCHAR::BYTE  [new]
Leonid Vorontsov
Member

Откуда: Рига
Сообщений: 321
> старый клиент остается (поле varchar(250) должно остаться в БД)
Да, конечно. Иначе, слишком много придётся переписывать. А хотелось бы "малой кровью"...

> одним махом сконвертировать varchar в byte нельзя?
В двух словах, как это сделать? Потому что, в принципе, можно добавить колонку типа BYTE и данные просто продублировать...
8 янв 09, 17:54    [6656551]     Ответить | Цитировать Сообщить модератору
 Re: VARCHAR::BYTE  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Leonid Vorontsov
> одним махом сконвертировать varchar в byte нельзя?
В двух словах, как это сделать? Потому что, в принципе, можно добавить колонку типа BYTE и данные просто продублировать...

MODIFY был бы самым простым способом, как мне кажется (если это возможно, конечно)
9 янв 09, 11:18    [6658373]     Ответить | Цитировать Сообщить модератору
 Re: VARCHAR::BYTE  [new]
Leonid Vorontsov
Member

Откуда: Рига
Сообщений: 321
> MODIFY

Дык в том-то и дело...

1) ALTER TABLE tab MODIFY col BYTE;
-608: Illegal attempt to convert Text/Byte blob type.

2) ALTER TABLE tab ADD byt BYTE; UPDATE tab SET byt = col;
-617: A blob data type must be supplied within this context.
9 янв 09, 11:39    [6658437]     Ответить | Цитировать Сообщить модератору
 Re: VARCHAR::BYTE  [new]
zaiets
Guest
ну дык
1. выгрузите в файл
2. загрузите с нужной структурой
это если сразу

или если постепенно, то:
1. выгрузите в файл
2. загрузите данные в другую таблицу
3. обновите

либо через клиента сделайте обновление

Думаю вряд ли одним оператором сходу все пройдет.
9 янв 09, 14:51    [6659216]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить