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

Откуда:
Сообщений: 90
Здравствуйте, а подскажите, пожалуйста, как лучше архитектурно, если база создана в однобайтовой кириллической кодировке, переконвертировать ее в юникод никак нельзя, nvarchar/nclob тоже нельзя, и юникод очень-очень нужен?
Варианты:
1) CLOB, писать в него в UTF-8, проводя переконвертацию на клиенте. С точки зрения сохранности данных ок, но как блин делать запросы?
2) BLOB, писать в него в UTF-8, в общем, аналогично
3) Плюнуть на юникод
3 июн 21, 15:17    [22330953]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53487

Ответ зависит от того кто ты этой базе и откуда лезет "никак нельзя". Может колебаться от
"забить" до "если очень хочется, то таки можно".

Posted via ActualForum NNTP Server 1.5

3 июн 21, 15:23    [22330959]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7265
Почему

CLOB можно, а nvarchar нельзя?
3 июн 21, 15:39    [22330969]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
pbda
Member

Откуда:
Сообщений: 90
Vadim Lejnin, драйвер клиента не поддерживает, система древняя. Данные в юникоде в базу должны вноситься сторонним веб-приложением, но клиент их должен читать, по ним искать, и их не корежить

Сообщение было отредактировано: 3 июн 21, 16:01
3 июн 21, 16:09    [22330989]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1183
pbda
клиент их должен читать, по ним искать, и их не корежить

предполагается, что код клиента может быть доработан?
а "драйвер клиента" заменён быть не может?
а "сторонее веб-приложение"?

в принципе, некоторые фреймворки позволяют использовать клиента и без драйвера...

по вопросам:
1. не сработает
2. да запросто. вам какие запросы? dbms_lob.instr подойдёт?
3. тоже проблему представлять не должно )
3 июн 21, 16:39    [22331002]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
pbda
Member

Откуда:
Сообщений: 90
проходил мимо...,

веб-приложение может делать чего хочет ) а клиент категорически не реанимируемый
3 июн 21, 16:43    [22331003]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53487

pbda
драйвер клиента не поддерживает, система древняя.

Так что мешает базу пересоздать с UTF-8, а драйверу клиента выставить NLS_LANG?

Posted via ActualForum NNTP Server 1.5

3 июн 21, 16:45    [22331004]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
pbda
Member

Откуда:
Сообщений: 90
Dimitry Sibiryakov,

терабайт (
плюс возможные проблемы с трактовкой базой длины полей типа varchar2(2000) vs varchar2(char 2000)
в общем, можно, но надо много времени на опыты и тесты
3 июн 21, 16:57    [22331010]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53487

pbda
в общем, можно, но надо много времени на опыты и тесты

Не надо. Если кодировка старой базы корректна, то создаёте новую, налаживаете базовую
репликацию в старую и постепенно, по одной табличке, переползаете из старой базы в новую.

Posted via ActualForum NNTP Server 1.5

3 июн 21, 17:02    [22331013]     Ответить | Цитировать Сообщить модератору
 Re: Юникод в однобайтовой базе  [new]
pbda
Member

Откуда:
Сообщений: 90
Dimitry Sibiryakov, слушайте, а отличная же идея
3 июн 21, 17:16    [22331017]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить