|
|
|
Кодировка строки в пакете
|
|||
|---|---|---|---|
|
#18+
Клонировал базу с прода на тестовую машину и на ней столкнулся со странной ситуацией. Попробую описать: В одном пакете есть "зашитая" строка, которая передается на вход процедуры из другого пакета, и там эта строка посимвольно в цикле обрабатывается SUBSTR и каждый символ из этой строки записывается в переменную char(1). И тут на первом же символе - ORA-06502: PL/SQL: numeric or value error: character string buffer too small PL/SQL Developer в дебагере корректно показывает строку, которая пришла на вход процедуры, но чую, что со строкой всё же что-то не так. Поясню на примере: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Первая строка "Тест" напечатано мной, а вторая строка "Да,Нет,Не определено" - взята из дебагера. Здесь видно, что после выполнения запроса во второй строке кракозябры (SUBSTR('ДОМ,РљР’РђР РўРР Р) Примечание: 1. На проде описанная ситуация не проявляется 2. Клонирование осуществлялось expdp/impdp full=y ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 17:39 |
|
||
|
Кодировка строки в пакете
|
|||
|---|---|---|---|
|
#18+
Упс, оказалось еще чудесатей... На проде этот блок Код: plsql 1. 2. 3. 4. 5. выполняется без ошибки. А на тестовой - всё та же ошибка: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 18:05 |
|
||
|
Кодировка строки в пакете
|
|||
|---|---|---|---|
|
#18+
сравни CHARACTERSET'ные параметры баз Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 18:17 |
|
||
|
Кодировка строки в пакете
|
|||
|---|---|---|---|
|
#18+
pixela, а так? declare s varchar2(1 char); begin s := substr('Тест', 1, 1); dbms_output.put_line(s); end; utf8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 18:26 |
|
||
|
Кодировка строки в пакете
|
|||
|---|---|---|---|
|
#18+
йфясравни CHARACTERSET'ные параметры базNLS_LENGTH_SEMANTIC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 18:55 |
|
||
|
Кодировка строки в пакете
|
|||
|---|---|---|---|
|
#18+
Elicйфясравни CHARACTERSET'ные параметры базNLS_LENGTH_SEMANTIC В данном конкретном случае pixela Код: plsql 1. 2. 3. 4. все-таки начать следует с банального NLS_LANG и букваря к нему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 02:44 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=191&tid=1887064]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 325ms |

| 0 / 0 |
