powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
9 сообщений из 34, страница 2 из 2
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39719426
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в конструкции
Код: plsql
1.
with tbl as...

такое почему-то не работает
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39719430
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarockнапример
такой
Л?N?Y ?icOaU?O ?Oa?UU?OOc
Судя по "метод работает"
21386945
кириллица в источнике должна лежать в 1251.
Тогда зачем перекодировка?

Однако судя по предположительно перекодированной iso8859-5 -> mswin1251 строке "Л?N?Y ?icOaU?O ?Oa?UU?OOc" это может быть не совсем так.
Лучше всего, если сможете представить читаемую выборку с кириллицей из источника вида
Код: plsql
1.
select text_column, dump(text_column,1016) d from tabname


не через dblink, а непосредственно sqlplus.
Это позволило бы понять, в какой кодировке кириллица лежит на источнике и не гадать.
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39719651
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

реузльтат
Код: plsql
1.
select text_column, dump(text_column,1016) d from tabname



Код: plsql
1.
Typ=1 Len=25 CharacterSet=WE8DEC: bb,de,d1,d0,dd,20,b2,ef,e7,d5,e1,db,d0,d2,20,bc,d8,e5,d0,d9,db,de,d2,d8,e7



Не совсем понимаю к чему ведете?
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39720031
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarockНе совсем понимаю к чему ведете?
Просто убедился, что за dblink действительно iso8859-5 - не люблю угадайки, особенно когда "на той стороне" все делают по-своему :)
План запроса для такого варианта как будет выглядеть?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with src as 
(
SELECT /*+ driving_site(c) no_merge*/
       utl_raw.cast_to_raw@dblink(grid) grid
  FROM tbl_src@dblink c
)
select /*+ driving_site(d) use_nl(s) */
       nvl2(grid, UTL_RAW.cast_to_varchar2(UTL_RAW.convert(s.grid,'AMERICAN_AMERICA.CL8MSWIN1251','AMERICAN_AMERICA.CL8ISO8859P5')), null) grid
       from dual d, src s
;
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39720679
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
1	Plan hash value: 1009656888
2	 
3	-----------------------------------------------------------------------------------------
4	| Id  | Operation        | Name | Rows  | Bytes | Cost (%CPU)| Time     | Inst   |IN-OUT|
5	-----------------------------------------------------------------------------------------
6	|   0 | SELECT STATEMENT |      |   154 |   150K|     4   (0)| 00:00:01 |        |      |
7	|   1 |  NESTED LOOPS    |      |   154 |   150K|     4   (0)| 00:00:01 |        |      |
8	|   2 |   FAST DUAL      |      |     1 |       |     2   (0)| 00:00:01 |        |      |
9	|   3 |   VIEW           |      |   154 |   150K|     2   (0)| 00:00:01 |        |      |
10	|   4 |    REMOTE        |      |       |       |            |          |    EEP | R->S |
11	--------

---------------------------------------------------------------------------------

Способ действительно сработал.
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39720687
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Код: plsql
1.
UTL_RAW.convert(s.grid,'AMERICAN_AMERICA.CL8MSWIN1251','AMERICAN_AMERICA.CL8ISO8859P5')

И что, неужто работает?
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39720700
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicandrey_anonymous
Код: plsql
1.
UTL_RAW.convert(s.grid,'AMERICAN_AMERICA.CL8MSWIN1251','AMERICAN_AMERICA.CL8ISO8859P5')

И что, неужто работает?utl_rawThe NLS_LANG parameter form language_territory.character set is also accepted for to_charset and from_charset. However, this form is deprecated and should be avoided. Note that language and territory are ignored by this subprogram.
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39720710
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-utl_rawThe NLS_LANG parameter form language_territory.character set is also accepted for to_charset and from_charset. However, this form is deprecated and should be avoided. Note that language and territory are ignored by this subprogram."Задокументировано" только в 12.1 и сразу как deprecatted.
В любом случае, код с душком.
...
Рейтинг: 0 / 0
NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
    #39720885
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicandrey_anonymous
Код: plsql
1.
UTL_RAW.convert(s.grid,'AMERICAN_AMERICA.CL8MSWIN1251','AMERICAN_AMERICA.CL8ISO8859P5')

И что, неужто работает?
Не суть.
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS_CHARACTERSET WE8DEC и CL8MSWIN1251
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]