Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с кодировкой / 22 сообщений из 22, страница 1 из 1
18.08.2021, 12:54
    #40091457
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Скажите пожалуйста,

как такое может быть?

На рисунке оба поля nvarchar2(50) , а результат разный....


Заранее благодарен.
...
Рейтинг: 0 / 0
18.08.2021, 13:04
    #40091463
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah,

вернее конечно вначале идет UPDATE, потом SELECT
...
Рейтинг: 0 / 0
18.08.2021, 13:15
    #40091467
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah,

тут уже смотрел?
SQL.RU FAQ:CodePage, NLS_LANG: решение проблем с отображением сообщений на русском языке
КМК нужно фонт смотреть
Что за GUI используете?

Результаты запросов:
Код: plsql
1.
2.
3.
SELECT parameter||'='||value as p FROM nls_database_parameters WHERE LOWER(parameter) like '%characterset';

SELECT client_version, client_charset FROM v$session_connect_info WHERE sid = SYS_CONTEXT('USERENV', 'SID') AND ROWNUM = 1
...
Рейтинг: 0 / 0
18.08.2021, 13:54
    #40091487
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Vadim Lejnin
NLS_LANG: решение проблем с отображением сообщений на русском языке

ммм?
А что, "40817810535001413470" - реально текст на русском языке, в котором может слететь кодировка?


Ставлю на то, что update не updat-ит либо select гоняется в соседней сессии.
...
Рейтинг: 0 / 0
18.08.2021, 14:10
    #40091498
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Vadim Lejnin,

вот результат
...
Рейтинг: 0 / 0
18.08.2021, 14:10
    #40091499
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
andrey_anonymous,

UPDATE отрабатывает, но каждый новый select выдает рандомное значение
...
Рейтинг: 0 / 0
18.08.2021, 14:33
    #40091510
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah
рандомное значение

ууу как интересно :)
По ходу коллеги над Вами шутят.
Покажите-ка DDL TAB1 (через dbms_metadata.get_ddl)
...
Рейтинг: 0 / 0
18.08.2021, 15:17
    #40091526
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
andrey_anonymous,

а на что там стоит обратить внимание?
просто структура таблицы все же достаточно конфиденциальна...
...
Рейтинг: 0 / 0
18.08.2021, 15:40
    #40091536
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah,

в триггерах ничего не меняют?

update tab1 set sks_acc=sks_acc1 where card_rk=xxx
так тоже разные?

.....
stax
...
Рейтинг: 0 / 0
18.08.2021, 15:47
    #40091539
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah,


Что выдает
Код: plsql
1.
select upper('фыва') as v2,upper(N'фыва') as n2 from dual;
...
Рейтинг: 0 / 0
18.08.2021, 16:08
    #40091547
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Vadim Lejnin,
...
Рейтинг: 0 / 0
18.08.2021, 16:10
    #40091548
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Stax
vah,

в триггерах ничего не меняют?

update tab1 set sks_acc=sks_acc1 where card_rk=xxx
так тоже разные?

.....
stax


да, результат тот же
...
Рейтинг: 0 / 0
18.08.2021, 17:04
    #40091560
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah

да, результат тот же


имхо,
триггер шалит
или типы полей все-таки отличаются


select sks_acc,sks_acc1,dump(sks_acc) d, dump(sks_acc1) d1 from tab where sks_acc=sks_acc1 and card_rk=xxx
выдает значение?

зы
глянуть
select sks_acc,sks_acc1,dump(sks_acc) d, dump(sks_acc1) d1 from tab where card_rk=xxx
.....
stax
...
Рейтинг: 0 / 0
18.08.2021, 17:12
    #40091567
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Попробуйте явно указать
Код: plsql
1.
2.
update ...
set SKS_ACC=N'40817810535001413470'
...
Рейтинг: 0 / 0
18.08.2021, 17:15
    #40091571
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah,

И да, я бы еще попробовал сделать обновление через sqlplus, может gui шалит

и там же
describe table_name
...
Рейтинг: 0 / 0
18.08.2021, 17:36
    #40091577
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah
а на что там стоит обратить внимание?

Обратить внимание?
- а не вьюха ли это с instead-of триггерами?
- не синоним ли на какой-то другой объект?
- не external table ли?
Если реально обычная heap-organized таблица - обратить внимание на триггеры.
Убедиться, что update репортит >0 updated rows
Выполнить create table tab1_private as select * from tab1 и провести эксперименты с ней.
Посмотреть, нет ли каких политик на таблице.
Не применен ли к ней какой obfuscation или data masking.
Не криптованная ли таблица, в конце концов.
...да дофига вариантов, честно говоря, это только то, что вспомнилось с ходу.
...
Рейтинг: 0 / 0
18.08.2021, 17:43
    #40091581
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Vadim Lejnin
Что выдает
Код: plsql
1.
select upper('фыва') as v2,upper(N'фыва') as n2 from dual;


Мало показательный эксперимент с учетом того, что заявленные кодировки клиента и сервера совпадают
...
Рейтинг: 0 / 0
18.08.2021, 19:35
    #40091593
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah
просто структура таблицы все же достаточно конфиденциальна...
Тогда зачем вылазить в публичный форум вместо того, чтобы обратиться в "неукраденную" поддержку?
...
Рейтинг: 0 / 0
18.08.2021, 21:57
    #40091616
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Stax
vah

да, результат тот же


имхо,
триггер шалит
или типы полей все-таки отличаются


select sks_acc,sks_acc1,dump(sks_acc) d, dump(sks_acc1) d1 from tab where sks_acc=sks_acc1 and card_rk=xxx
выдает значение?

зы
глянуть
select sks_acc,sks_acc1,dump(sks_acc) d, dump(sks_acc1) d1 from tab where card_rk=xxx
.....
stax
...
Рейтинг: 0 / 0
19.08.2021, 13:51
    #40091827
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
vah,

с учетом sks_acc=sks_acc1, фигня какая-то

не знаю, может какие-то хитрые (мне малознакомые) политики вмешиваюся

зы
прогнать команды в sql*plus-e

ps
в блоке какой-то мусор (битый блок)

.....
stax
...
Рейтинг: 0 / 0
19.08.2021, 19:23
    #40091996
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
create table dropme_t(f_plain, f_masked)
as select 'vah ','каждый новый select выдает рандомное значение' from dual;
Table created

BEGIN
 DBMS_REDACT.ADD_POLICY(
   object_schema   => null,
   object_name     => 'dropme_t',
   column_name     => 'f_masked',
   policy_name     => 'test_masking',
   function_type   => DBMS_REDACT.RANDOM,
   expression      => '1=1');
END;
/
PL/SQL procedure successfully completed

select * from redaction_policies;

OBJECT_OWNER         OBJECT_NAM POLICY_NAME  EXPRESSION ENABLE POLICY_DES
-------------------- ---------- ------------ ---------- ------ ----------
TESTUSER             DROPME_T   test_masking 1=1        YES    

insert into dropme_t values('Stax','в блоке какой-то мусор (битый блок)');
1 row inserted

select * from dropme_t;

F_PLAIN F_MASKED
------- -------------------------------------------------------------------------------
vah     F}d|k6aCN&l%s>iKV.t-{FqS^6|5$Ny[f>%=,VzcnF-E4^*kvN5M<f2s~V=UDn:{1^E]LvB$/fMeT~J
Stax    5kF&~cfb=sN.1knjE{V6/svrM$^>7{~zU,fF?$1#]4nNG,/+e<vVO473mD~^W<?;uL1f_DGC}T/ngLO

select * from dropme_t where f_masked like '%мусор%';

F_PLAIN F_MASKED
------- -------------------------------------------------------------------------------
Stax    >WK=uhDnF_SE}pLvNg[M&xT~VocU.!\1^wk]6)d/f se>1l7n({mF9t?v0$uNA|G~8,}VI%O1@4&;^Q-


begin
  dbms_redact.drop_policy(null,'dropme_t','test_masking');
end;
/
PL/SQL procedure successfully completed

select * from redaction_policies;

OBJECT_OWNER         OBJECT_NAM POLICY_NAME  EXPRESSION ENABLE POLICY_DES
-------------------- ---------- ------------ ---------- ------ ----------


select * from dropme_t;

F_PLAIN F_MASKED
------- -------------------------------------------------------------------------------
vah     каждый новый select выдает рандомное значение
Stax    в блоке какой-то мусор (битый блок)

drop table dropme_t purge;
Table dropped


SQL> 
...
Рейтинг: 0 / 0
23.08.2021, 00:35
    #40092557
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
andrey_anonymous,

у меня по ходу прав не хватает на это (
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с кодировкой / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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