powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с кодировкой
22 сообщений из 22, страница 1 из 1
Проблема с кодировкой
    #40091457
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста,

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

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


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

вернее конечно вначале идет UPDATE, потом SELECT
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #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
Проблема с кодировкой
    #40091487
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin
NLS_LANG: решение проблем с отображением сообщений на русском языке

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


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

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

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

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

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

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

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

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


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

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

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

.....
stax


да, результат тот же
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #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
Проблема с кодировкой
    #40091567
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте явно указать
Код: plsql
1.
2.
update ...
set SKS_ACC=N'40817810535001413470'
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #40091571
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

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

и там же
describe table_name
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #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
Проблема с кодировкой
    #40091581
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin
Что выдает
Код: plsql
1.
select upper('фыва') as v2,upper(N'фыва') as n2 from dual;


Мало показательный эксперимент с учетом того, что заявленные кодировки клиента и сервера совпадают
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #40091593
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah
просто структура таблицы все же достаточно конфиденциальна...
Тогда зачем вылазить в публичный форум вместо того, чтобы обратиться в "неукраденную" поддержку?
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #40091616
Фотография 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
Проблема с кодировкой
    #40091827
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

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

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

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

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

.....
stax
...
Рейтинг: 0 / 0
Проблема с кодировкой
    #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
Проблема с кодировкой
    #40092557
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

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


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