Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Oracle. Ошибка ORA-06502. Как избавится?


Страницы:   1 2 3

SergP ©   (2006-11-13 13:04:00) 

В чем может быть причина такой ошибки?

ORA-06502: PL/SQL: numeric or value error: character string buffer too small

И где можно увеличить этот character string buffer?


Игорь Шевченко   (2006-11-14 16:18:00) [21]

ANB ©   (14.11.06 15:48) [33]


> А разве жаба платная ?

Вообще-то да. Как и PL/SQL Developer.

Про жабу интересно написано:
"The Toad Freeware version may be used for a maximum of five (5) users within Licensee's organization and expires each sixty (60) days, after which you will need to download and install the product again"
http://www.toadsoft.com/lic_agree.html

Насколько я знаю, бесплатная TORA ну и SQL*Plus :)


ANB   (2006-11-14 15:48:00) [22]


> Вот и остается SQL*Plus

Есть еще pl/sql девелопер, склнафигатор (жуткая гадость).
А разве жаба платная ?


Игорь Шевченко   (2006-11-14 13:12:00) [23]

ANB ©   (14.11.06 13:04) [31]


> Я тоадом пользуюсь. он под ширину данных ширину колонки
> подгоняет


если там пара сотен тысяч записей...

Кроме того, извини, когда жаба будет поставляться в дистрибутиве оракла, тогда имеет смысл говорить, что ты ей пользуешься и всем рекомендуешь. Тора, она хоть бесплатная, но тормозная, а жаба денег стоит и потому давит.
Вот и остается SQL*Plus


ANB   (2006-11-14 13:04:00) [24]


> Особенно в SQL*Plus удобно запросы с такими полями делать.
> ..

Я тоадом пользуюсь. он под ширину данных ширину колонки подгоняет


Игорь Шевченко   (2006-11-14 12:59:00) [25]

ANB ©   (14.11.06 12:20) [28]


> Звиняйте - у меня свой авторитет есть :) Тем более он рулил
> проектом и я у него и спросил - делать так или не надо.
>


Авторитет авторитету люпус эст.


> Индексы составные поругались поначалу, он размер блока побольше
> сделал - и всех делов :)


Особенно в SQL*Plus удобно запросы с такими полями делать...


k2   (2006-11-14 12:24:00) [26]

и мы даже знаем кто :)
только Селко наверное тож пару раз проектами рулил :)


ANB   (2006-11-14 12:20:00) [27]


> Рекомендую: http://www.mini-mag.ru/?cid=2170&tov=163372

Тьфу, млин. Это ссылка на магазин.
Звиняйте - у меня свой авторитет есть :) Тем более он рулил проектом и я у него и спросил - делать так или не надо. Индексы составные поругались поначалу, он размер блока побольше сделал - и всех делов :)


Игорь Шевченко   (2006-11-14 12:16:00) [28]


> Ну и сделал бы столько :) На размер БД это не влияет. Они
> же варчаровые.


Наверное ты Celko не читал...А зря, он как раз очень аргументированно возражает против такого бездумного назначения максимального размера полям.
Рекомендую: http://www.mini-mag.ru/?cid=2170&tov=163372


ANB   (2006-11-14 11:57:00) [29]


> А если бы лимит в Оракле был на 30000 байт ? :)

Ну и сделал бы столько :) На размер БД это не влияет. Они же варчаровые.

Спасибо за ссылку.


Игорь Шевченко   (2006-11-14 11:45:00) [30]

ANB ©   (14.11.06 11:18) [23]


> Хотя я просто все символьные поля, кроме особых случаев,
>  сделал по 4000 байт и забил. Так что по идее влезет все.
>


А если бы лимит в Оракле был на 30000 байт ? :)


> А где ты это накопал ?


В доке, вестимо

"The BYTE and CHAR qualifiers override the semantics specified by the NLS_LENGTH_SEMANTICS parameter, which has a default of byte semantics. For performance reasons, Oracle recommends that you use the NLS_LENGTH_SEMANTICS parameter to set length semantics and that you use the BYTE and CHAR qualifiers only when necessary to override the parameter"

"Oracle® Database SQL Reference
10g Release 1 (10.1)
Part Number B10759-01"


ANB   (2006-11-14 11:19:00) [31]


> а гады говорят, что надо устанавливать nls_length_semantics
> для базы

А где ты это накопал ?


ANB   (2006-11-14 11:18:00) [32]


> Игорь Шевченко ©   (14.11.06 11:09) [22]

Уй млин. А мы в базе не стали указывать. Только в хранимках. Хотя я просто все символьные поля, кроме особых случаев, сделал по 4000 байт и забил. Так что по идее влезет все.


Игорь Шевченко   (2006-11-14 11:09:00) [33]

ANB ©   (14.11.06 10:37) [21]


> Вот эти параметры намекают мне, что у тебя по идее должна
> быть такая же проблема, если явно не указать размерность
> char


Безусловно. Я указываю char в объявлении полей, когда допускаю, что в полях будут находиться символы, отличные от #0-#127, а гады говорят, что надо устанавливать nls_length_semantics для базы, а в объявлениях ничего не трогать.


ANB   (2006-11-14 10:37:00) [34]

NLS_CHARACTERSET           AL32UTF8
NLS_LENGTH_SEMANTICS       BYTE
NLS_NCHAR_CHARACTERSET     AL16UTF16

Вот эти параметры намекают мне, что у тебя по идее должна быть такая же проблема, если явно не указать размерность char


Игорь Шевченко   (2006-11-13 22:55:00) [35]

В XE без всяких исправлений, как было, так и встало.

NLS_LANGUAGE               AMERICAN
     
NLS_TERRITORY              AMERICA
         
NLS_CURRENCY               $      
                                 
NLS_ISO_CURRENCY           AMERICA
         
NLS_NUMERIC_CHARACTERS     .,    
         
NLS_CHARACTERSET           AL32UTF8
         
NLS_CALENDAR               GREGORIAN
         
NLS_DATE_FORMAT            DD-MON-RR
         
NLS_DATE_LANGUAGE          AMERICAN
         
NLS_SORT                   BINARY
         
NLS_TIME_FORMAT            HH.MI.SSXFF AM
         
NLS_TIMESTAMP_FORMAT       DD-MON-RR HH.MI.SSXFF AM
         
NLS_TIME_TZ_FORMAT         HH.MI.SSXFF AM TZR
         
NLS_TIMESTAMP_TZ_FORMAT    DD-MON-RR HH.MI.SSXFF AM TZR
         
NLS_DUAL_CURRENCY          $
         
NLS_COMP                   BINARY
         
NLS_LENGTH_SEMANTICS       BYTE
         
NLS_NCHAR_CONV_EXCP        FALSE
         
NLS_NCHAR_CHARACTERSET     AL16UTF16
         
NLS_RDBMS_VERSION          10.2.0.1.0


Игорь Шевченко   (2006-11-13 17:21:00) [36]

ANB ©   (13.11.06 16:43) [18]


> Почему то в XE по дефолту полуторнобайтовая кодировка врублена


А это я вполне могу вечером посмотреть, стоит XE с кодировкой по умолчанию. XE юникодный (XEUniv)


ANB   (2006-11-13 16:43:00) [37]


> Desdechado ©   (13.11.06 16:32) [16]

Не, это из-за кодировки. Почему то в XE по дефолту полуторнобайтовая кодировка врублена (не помню как она называется, однако dump хорошо это показывает).


k2   (2006-11-13 16:35:00) [38]

Desdechado ©   (13.11.06 16:32) [16]
знач наврала сорри, у меня это запросто :)


Desdechado   (2006-11-13 16:32:00) [39]

Да, доменов мне не хватает...

k2 ©   (13.11.06 16:12) [13]
На своей 9-ке проверил (умолчания не трогали) - BYTE. И на линухе, и на выни.


Игорь Шевченко   (2006-11-13 16:26:00) [40]


> Хотя, в принципе, указание размерности никому не мешает,
>  зато код будет работать при любой настройке базы.


А вот гады пишут, что лучше nls_length_semantics устанавливать, а саму семантику в объявлениях только при крайней нужде менять. Оно говорят портабельнее получается. Домены бы в Оракл - цены б ему не было.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо