AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.05.2014, 22:39   #1  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Непонятная SQL-ошибка
При учёте документа вылетет временами SQL-ошибка "102",42000"
в которой говорится, что произвести INSERT в энную таблицу не получилось из за некорректного синтаксиса возле '{'
( Incorrect syntax near '{' )
Нигде в SQL-запросе не видно этой самой '{' .
Дальше в тексте ошибки приводится сам SQL-INSERT-INTO query для энной таблицы с перечислением полей и, что самое непонятное, "VALUES(?,?,?,?,?,?,?),
т.е. SQL попытался создать запись засунуть в каждое поле таблицы ?-Joker.
При этом NAV-client зависает и онный можно только через Taskmanager -> процессы закрыть.
Открываем NAV заново и документ учитывется без проблем.
запись в энной таблице (попутная к документу) создаётся путём TRANSFERFIELDS, в записи-источнике (т.е. из которой данные через TRANSFERFIELDS копируются в энную таблицу) поля заполнены.
Дебужить не получается, т.к. воспроизвести ошибку нарочно не смогли.
Кто-нибудь встречался с подобным, как такое лечить?
NAV-Верисия: 5.0 SP1
Старый 16.05.2014, 01:47   #2  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
новый сервер?
новый Нав?
новая функциональность?
новый пользователь?
автосплиткей никакой не добавляли?

небыло ошибки и вдруг на тебе?
Старый 16.05.2014, 11:06   #3  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от Sancho Посмотреть сообщение
новый сервер?
новый Нав?
новая функциональность?
новый пользователь?
автосплиткей никакой не добавляли?

небыло ошибки и вдруг на тебе?
Новая функциональность. Типичный случай: осчастливили клиента новыми фьючами а заодно и новыми багами.
Проблема найти баг: по идеее если ошибка в программном коде, то она должна вылетать всегда. А так: вылетает ошибка => закрываем NAV через taskmanager (иначе никак) => открываем NAV => учёт проходит без ошибки. Если бы юзер между делом изменил данные (типа поставил/убрал какую-нибудь галочку), тогда понятно, но данные не меняются, а ошибка то вылетает то нет.
Автосплиткей не добавляли, есть единственное integer-поле для автосплиткей в обеих таблицах (в таблице-источнике и в конечной таблице, куда данные передаются). И каким макаром может быть в нём причина? Ведь автосплиткей = property формы, причём форма для конечной таблица Editable=No и вызыватеся эта форма в карточке учтённого документа
Ошибка то вылетает при учёте документа, у юзера открыта только карточка документа.
Подозреваю что дело в TRANSFERFIELDS, т.к. производится дефолтно с TRUE.
Или Вы имели в виду поле с Автоинкремент? С ним тоже можно воспроизвести чудную SQL-ошибку, но в нашем случае отпадает, т.к. у полей AutoIncrement=No
Старый 16.05.2014, 11:51   #4  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
да, я имел в виду Автоикремент, просто перепутал, спасибо.
в стандартную таблицу инсерт не всегда проходит, или в новую?
тупо обрывов связи не может быть?
чаще учитывается, или чаще не учитывается?

даже не знаю куда еще копать...
/>
Старый 10.06.2014, 07:13   #5  
GRIZZLY_imported is offline
GRIZZLY_imported
Участник
 
39 / 10 (1) +
Регистрация: 18.05.2007
Включать SQL Profiler и снимать trace пробовали?
Старый 10.06.2014, 07:18   #6  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Версию SQL сервера приведите
Старый 10.06.2014, 17:20   #7  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от rmv Посмотреть сообщение
Версию SQL сервера приведите
После того как включили Profiler с tracer'ом ошибка больше не вылетела.
SQL Server 2008 R2
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:17.