WE8DEC -> CL8MSWIN1251

Animal
Дата: 23.09.2004 05:14:52
УВАЖАЕМЫЕ ГОСПОДА.

Есть одна база на UNIX-е Oracle 8.1.7.4 NLS WE8DEC (не наша),
вторая на Windows2003 Oracle 9.2.0.5 NLS CL8MSWIN1251 (наша).

На клиентах соответственно NLS CL8MSWIN1251.

Нам необходимы данные с юниксовой базы.
У нас настроен DBLink на юниксовую базу.

Как можно перекодировать данные, чтобы наши клиенты нормально видели русские символы???
John.D
Дата: 23.09.2004 05:41:21
Animal
Есть одна база на UNIX-е Oracle 8.1.7.4 NLS WE8DEC (не наша),
вторая на Windows2003 Oracle 9.2.0.5 NLS CL8MSWIN1251 (наша).

К чему относиться "Наша"-"Не наша" ? Если к кодировкам - то лучше всего поменять её на юниковской базе.
Если "не наша" база - то обычный метод таков:
В базе с кривой кодировкой создаётся вьюшка, в которой все текстовые поля конвертируются в RAW
select ... UTL_RAW.cast_to_raw(text_column) raw_column ... from...
В другой базе создаётся ДБ Линк и вьюшка
select ...UTL_RAW.cast_to_varchar2(raw_column) text_column ... from ...@DBLink_name;
Animal
Дата: 23.09.2004 08:15:46
В том то и дело, что данный вариант не проруливает.

А существует ли еще какойнибудь???
c
Дата: 23.09.2004 09:23:32
For example:
select CONVERT(row_in,'IW8MSWIN1255','UTF8') from my_table