powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / ORA-12899 при исп-и DML формы
7 сообщений из 7, страница 1 из 1
ORA-12899 при исп-и DML формы
    #39616277
гр к
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь откорректировать поле, у кот-го всего 2 значения - установил на контроле типа select list

In the List of Values attribute group, set Type to Static Values, while in the Static Values text area enter STATIC:b,s

получаю ошибку ORA-12899: value too large for column "BUZ"."RTR_TRADES"."O_DIR" (actual: 3, maximum: 1)
При этом обычным апдейтом поле корректируется норм
Код: plsql
1.
set o_dir = 'b'


Как быть?
Поле таблицы типа char(1)
...
Рейтинг: 0 / 0
ORA-12899 при исп-и DML формы
    #39616280
гр к,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Apex 5.1, oracle 11 g XE
...
Рейтинг: 0 / 0
ORA-12899 при исп-и DML формы
    #39616662
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В кодировке явно беда.
Скорее всего БД работает в 1251. А приложение в UTF8 (Почему три байта а не два, может даже не UTF8 ).
...
Рейтинг: 0 / 0
ORA-12899 при исп-и DML формы
    #39616667
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример. У меня БД работает в UTF8
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
user@oracle
 >CREATE TABLE"A"  ("b" CHAR(1) );

Table created.

user@oracle
 >insert into a values ('Ё');
insert into a values ('Ё')
                      *
ERROR at line 1:
ORA-12899: value too large for column "PORTAL"."A"."b" (actual: 2, maximum: 1)



Поле "b" CHAR(1) означает что поле занимает 1 байт, а не 1 символ.
...
Рейтинг: 0 / 0
ORA-12899 при исп-и DML формы
    #39616932
гр к
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel, а как правильно проблему забороть?
В настройках апекса что-то менять или увеличивать размер поля до 3?
...
Рейтинг: 0 / 0
ORA-12899 при исп-и DML формы
    #39617242
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Размер однозначно установить в байтах согласно кодировки.
...
Рейтинг: 0 / 0
ORA-12899 при исп-и DML формы
    #39617492
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
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.
[oracle@OracleTemp ~]$ set |grep NLS
NLS_LANG=AMERICAN_CIS.AL32UTF8
[oracle@OracleTemp ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 20 13:27:57 2018
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL> CREATE TABLE"A"  ("b" CHAR(1) );
Table created.

SQL> insert into a values ('Ё');
1 row created.
SQL> commit;
Commit complete.

SQL> exit;
Disconnected from Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
[oracle@OracleTemp ~]$ unset NLS_LANG
[oracle@OracleTemp ~]$  set |grep NLS
_=NLS_LANG
[oracle@OracleTemp ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 20 13:29:01 2018
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
SQL> insert into a values ('Ё');
insert into a values ('Ё')
                      *
ERROR at line 1:
ORA-12899: value too large for column "SYS"."A"."b" (actual: 2, maximum: 1)

SQL> 


Выставить NLS_LANG=AMERICAN_CIS.AL32UTF8
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / ORA-12899 при исп-и DML формы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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