powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / The decimal field's precision is too small to accept the numeric you attempted to add.
10 сообщений из 10, страница 1 из 1
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488192
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый уважаемые. Если у кого есть желание и время, помогите разобраться с проблемой:

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

Код: plaintext
1.
2.
3.
4.
5.
select Norma_Ref as Referencia,Titulo_PT,Substituida, 
Norma_Numero,Norma_parte, Norma_Subparte,Norma_ANO, iif(isnull
(Tipo_CT) ,' ',tipo_ct +  iif(isnull(CT_codigo),' ', ' - ' + ct_codigo)) AS [Comisão 
Tecnica],Catnormas.Proc_ID,Tipo_CT  
from (Catnormas ) 
Where  ID_stat='1' order by Norma_Ref


Вылетает сабжевая ошибка. В самом акцесе батч отрабатывает нормально.
При чем если уберу Order by то и в VB нормально. Поле по которому делается ордер - Text.

MDAC 2.7 VB6 SP5 вин 2к даже Jet4.0 Sp8.
Коннект напрямую к джету. Похоже на поврежденные данные но не уверен. Базу клиенты прислали, по их словам конвертили из Оракла...
Пытался выловить асинхронным фетчем но вываливается сразу же.

Ничего не понимаю. Во всех источниках идет рефер на проблему с данным или с джетом. Джет новый, данные в акцесе тоже вылазят без проблем. Вылетает имеено на этой стороне. Могло бы быть несовпадение типов, но ведь без сортировки работает!

Вообщем был бы благодарен за любые наводки, если у кого было подобное.

Спасибо.



Magnus
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488250
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой тип данных в таблице, у поля , которое производится попытка
привести к cdec ?
строка наверно?
Если да - то это СТАНДАРТНЫЕ ораклово-VB-шные грабли.
VB - cdec - 12 байт, 28 дес. знаков макс.
Oracle - точность до 80 знаков.
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488401
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал Compact & Repair- заработало.

какой тип данных в таблице, у поля , которое производится попытка
привести к cdec ?

Я ничего подобногго не делаю, весь запрос привед выше, из чего конвертили в Оракле я не знаю, та база мне недоступна. Вероятно все таки были поврежденные данные.

Поля в существующей таблице Number, text, memo, DateTime.

но как это связано с order by по текстовому полю?


Magnus
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488450
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал Compact & Repair- заработало
Жалко что заработало а то похоже на

Knowledge Base ACC2000: Scaling Errors When You Query Linked Tables
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488508
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
мимо :)
Я ж в начале писал jet Sp8 - специально установил, после прочтения майкрософтовских сзьездов на эту тему :).
Приведенный кстати тоже смотрел. После его установки все осталось как прежде. Не понятно. Но вопрос все равно открыт, потому как клиент для базы будет распространятся на диске и может импортировать саму базу из различных источников. Т.е. если они ее и дальше продолжат так же конвертить, та же проблема может выскочить в новых версиях.


Magnus
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488717
Flare
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятно. Надо "ковырять на месте" имея под рукой Оракл именно той верии, что у клиента, imho. Вопрос КАК они из оракла базу конвертят, все же.
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488746
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доступа к той базе пока не имею, но вопрос уже поднял. Данные они вероятно импортируют каким-то визардом. На следующем совещании буду брать за глотки чтоб меняли процесс. В принципе чего то подобного я ожидал. В предыдущих версиях базы были "явно" битые данные, которые выловил и исправил руками. Сьехали на баги и глюки при конвертировании. Прислали новую базу, по началу все четко было, а как дошло до использования некоторых уже протестированных фич - на тебе радость. Что ж мне теперь, после каждого обновления весь клиент заново тестировать?!?(риторический вопрос).
Спецы у них там просто супер судя по структуре базы, база чисто для чтения(каталог), ну денормализовать ее да и все. Они вроде об этом тоже "где то читали" новидимо обламались на середине процесса, и теперь 'то кривое нечто уже не изменить. И бюджет собсно копеечный, не покрутишься.

Придется наверное встраивать нечто вроде "попытки лечения кривой базы".


Вообщем ковыряю пока.

Спасибо всем за участие.

ЗЫ Еще какие нубудь идеи?

Magnus
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488925
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ Еще какие нубудь идеи?

Да ты их и сам знаешь: либо переписывать драйвера доступа либо свою программу :)

А так внимательно посмотри на саму таблицу - у акеса бывало про конвертирование записывалось в Размер, Формат, Число знаков и на вкладке Подстановка разная муть. Возможно что-то с индексом, возможно в Text'e какая-то муть. А в режиме просмотра таблицы сортируется/фильтруется нормально?
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32488947
m_a_r_i_n_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня был случай нестандартного поведения данных при выполнении выборки после подъема данных в Visual Foxpro, и знаешь что помогло? ... после создания структуры таблицы в самом Visual Foxpro (не копирования, а именно "ручками"), а потом перекачивания данных в созданную структуру-все получилось
...
Рейтинг: 0 / 0
The decimal field's precision is too small to accept the numeric you attempted to add.
    #32490488
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
Таблицу всю еще вначале обнюхал, все нормально вроде.

2 m_a_r_i_n_a
К процессу конвертации я доступа не имею, это клиенты делают, вопрос то я поднял, но как он решится это уж...


Magnus
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / The decimal field's precision is too small to accept the numeric you attempted to add.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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