Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Администрирование Oracle Database:
- Установка и настройка базы данных
- Обновление, применение патчей
- Оптимизация, настройка производительности
- Обучение, подготовка персонала, оптимизация
  • Страница:
  • 1
  • 2

ТЕМА:

oracle функция convert 12 года 1 мес. назад #4310

  •  аватар Автор темы
  • Посетитель
  • Посетитель
Возникла следующая проблема.

Есть дамп БД, был сделан на Sun, кодировка - AMERICAN_AMERICA.CL8ISO8859P5 .
Надо - корректно импортировать БД в Oracle 9i, чтобы работали функции Upper(char), lower(char) от русских слов.

Если ставить NLS_LANG=AMERICAN_AMERICA.CL8ISO8859P5 ,
то все замечательно, НО эти функции - не пашут, а как раз это - критично.

Если ставить NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251 - кодировку по умолчанию, то функции пашут, но база читается
в абракадабре.

Насколько я понимаю, с этой проблемой много кто сталкивается, но никакого вразумительного решения я не нашел.

Подскажите, что тут можно сделать.
Буду очень признателен за любые мысли по этому поводу.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle функция convert 12 года 1 мес. назад #4311

  •  аватар
  • Посетитель
  • Посетитель
надо ставить кодировку русскую, но при импорте надо использовать функцию convert и преобразовывать кодировку из AMERICAN_AMERICA.CL8ISO8859P5 в RUSSIAN_CIS.CL8MSWIN1251

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle функция convert 12 года 1 мес. назад #4312

  •  аватар Автор темы
  • Посетитель
  • Посетитель

Carlos пишет: надо ставить кодировку русскую, но при импорте надо использовать функцию convert и преобразовывать кодировку из AMERICAN_AMERICA.CL8ISO8859P5 в RUSSIAN_CIS.CL8MSWIN1251

спасибо за совет.
Ты имеешь ввиду , что надо поставить при импорте БД значение параметра утилиты imp - CHARSET=CL8ISO8859P5 ?
Причем NLS должен стоять ...WIN1251 так ?

Или в каком смысле - использовать функцию convert ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle функция convert 12 года 1 мес. назад #4313

  •  аватар
  • Посетитель
  • Посетитель
Есть такая функция CONVERT.
Насколько я понял, можно попробовать после импорта изменить значения всех строк посредством этой фукнции. Или вот еще совет по экспорту/импорту.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle функция convert 12 года 1 мес. назад #4314

  •  аватар Автор темы
  • Посетитель
  • Посетитель
Дело в том, что при инсталляции Oracle я установил charset CL8ISO8859P5.
Теперь, когда я ставлю NLS_LANG = ..WIN1251 , при импорте Oracle пишет, что
...import done in ...win1251
import server uses ...8859P5
export client uses ...8859P5
export server uses ...8859P5

И база не преобразуется.
Сейчас буду ставить Orace с CHARSET ...WIN1251, может - будет преобразовываться.
Попробую так.

Есть у кого - нибудь мысли на этот счет?
Может быть это можно сделать проще ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle функция convert 12 года 1 мес. назад #4315

  •  аватар
  • Посетитель
  • Посетитель
Дык это ж функция:)
update my_table set my_column = CONVERT(my_column, 'CL8MSWIN1251', 'CL8ISO8859P5');




Только проверь на кошках сперва, вдруг не получится, так совсем непонятно станет, из какой кодировки в какую надо конвертить.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
Время создания страницы: 0.195 секунд