Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Ошибка при выполнении запроса в Oracle   Найти похожие ветки 

 
TSubject   (2012-03-04 19:59) [0]

Здравствуйте.

Пытаюсь выполнить запрос из множества таблиц, в СУБД: Oracle 10g.
Использую компонент ODAC. В Query выполняю, Open - выполняется. Но как только пытаюсь подгрузить все записи Query.Last; Query.First; Появляется ошибка ORA-29275: неполный многобайтовый символ Записей в таблице порядка 400"000. Кодировка UTF8, NLS_LANGUAGE: AMERICAN
Пытался менять кодировку на стороне клиента, но ошибка не уходит. Подскажите в какую сторону копать, что попробовать, буду благодарен любой помощи. Спасибо.


 
AV ©   (2012-03-04 20:15) [1]

тип полей какой?


 
TSubject   (2012-03-04 20:23) [2]


> тип полей какой?
>


Полей порядка 30-ти, они разные. Есть: Varchar2, Number, Date.


 
sniknik ©   (2012-03-04 21:07) [3]

> неполный многобайтовый символ
судя по этому проблема со строковыми данными, т.е. там где UTF8 и ожидается 2 байта, записан один к примеру.

вообще проверить/вычислить где легко, первое перечисли все поля в запросе, ошибка есть? убери половину, первую, ошибка есть? верни первую убери вторую... метод половинного деления. убирать половину пока не останется 1 поле.
когда поле известно также с записью, сначала выбери первую половину, после вторую... и т.д.
хотя тут может быть проблема "вообще", а не с конкретной записью данных, тогда на каждой строке такая ошибка будет.
но неважно с чего то нужно начинать...


 
sniknik ©   (2012-03-04 21:12) [4]

чисто теоретически (не сталкивался. ораклом не полюзуюсь), проблема может быть на максимальной записи, типа "не влезло", если оно там длину байтами определяет, а была попытка присвоить длиннее в байтах, и символ "разрезало".
т.е. проверил бы записи с максимальной длинной = длине поля, в первую очередь.


 
AV ©   (2012-03-04 23:28) [5]

чисто соображение - система думала, что там кодировка символов uni, а оно не так.
и получилось, что для последнего символа нет "продолжения"


 
Кщд   (2012-03-05 07:52) [6]

>TSubject   (04.03.12 19:59)
1. кодировка базы
2. nls_lang на клиенте
3. какое конкретно поле дает ошибку, его тип


 
TSubject   (2012-03-05 08:16) [7]

Методом деления определил поле на котором рушится запрос. Тип поля: VARCHAR2(6 CHAR). Кодировка клиента: RUSSIAN_RUSSIA.CL8MSWIN1251

Кодировка базы

NLS_LANGUAGE: AMERICAN
NLS_CHARACTERSET: AL32UTF8
NLS_NCHAR_CHARACTERSET: AL16UTF16


 
Кщд   (2012-03-05 09:16) [8]

>TSubject   (05.03.12 08:16) [7]
на клиенте поставьте UTF8?



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.055 c
4-1262850914
Dy1
2010-01-07 10:55
2013.03.22
получение html-страницы post-запросом


1-1296984241
Wadimka
2011-02-06 12:24
2013.03.22
Как использовать сжатие GZIP в запросе SOAP для компонентTHTTPRIO


2-1329837414
Чайник
2012-02-21 19:16
2013.03.22
Управление z-order окон


15-1345494042
Хригорий
2012-08-21 00:20
2013.03.22
Каким бы бизнесом заняться?


15-1338834689
alexdn
2012-06-04 22:31
2013.03.22
Вот что то мне не верится