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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.04.2022, 16:08   #1  
faddy is offline
faddy
Участник
 
6 / 10 (1) +
Регистрация: 02.12.2011
D365FO Ошибка "Временная проблема с подключением к базе данных"
Есть кастомный SSRS отчет "Инвентарные списки".
До декабря 2021 г. отчет формировался без ошибки.
Сейчас возникает ошибка, пока только в одной компании, по одной модели учета, при отсутствии ограничения выборки основных средств из таблицы RAssetTable.
Текст ошибки:
«Невозможно создать запись в Инвентарные списки (RAssetInventorySheetTmp).
Возникла временная проблема с подключением к базе данных. Повторите попытку позже.»
При уменьшении количества выбранных основных средств путем задания фильтра в параметрах отчета по группе ОС
отчет формируется без ошибок.
При формировании отчета используются временные таблицы.

Кто нибудь встречался с подобной ошибкой? Не подскажете в какую сторону смотреть.
Старый 21.04.2022, 18:19   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
подозреваю, что вылетает исключение - Exception::TransientSqlConnectionError (https://docs.microsoft.com/en-us/dyn...nnection-error),

Но судя потому, что у вас отваливается регулярно и легко воспроизводится, получается превышается какой то порог по времени выполнения, вариантов не много, либо как то оптимизировать (например, запускать в несколько потоков), либо искать таймаут и его увеличивать, если это возможно.
__________________
Sergey Nefedov
Старый 22.04.2022, 08:30   #3  
faddy is offline
faddy
Участник
 
6 / 10 (1) +
Регистрация: 02.12.2011
Да вылетает по Exception::TransientSqlConnectionError.
Обработка этого исключения в код добавлена, но это никак не повлияло на возникновение ошибки.
Отчет формируется долго, в ошибку вылетает примерно через 45-50 мин.
Но с уменьшенной выборкой данных формируется без ошибки за 2,5 часа.
Как-то не похоже что это по таймауту, может достигается порог по какому-то другому ресурсу ?
Старый 22.04.2022, 01:16   #4  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
В 10.0.27 добавили анонсировали такой фикс, может быть он поможет

Цитата:
665562
Spike in "Tempdb table not present in database" after enabling fix for issue 642842 on the enviroment.
Старый 22.04.2022, 11:17   #5  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Таблица RAssetInventorySheetTmp имеет тип InMemory, хранится в памяти/диске AOS и вообще не должна иметь отношения к базе данных.
Есть вариант что у вас просто кончается место на локальном диске облачного AOS, а поскольку среда исполнения не очень осознает различия в обработке настоящих временных таблиц БД и временных таблиц, она выдает диагностику Exception::TransientSqlConnectionError. (Хотя дело вообще не в базе данных).
Я бы попробовал сделать клон таблицы, сделать его TableType = TempDB и переделал бы отчет на использование этой таблицы. (Ну и класс отчета переделал бы на наследование от класса SrsReportDataProviderPreProcessTempDB )
Старый 22.04.2022, 12:27   #6  
faddy is offline
faddy
Участник
 
6 / 10 (1) +
Регистрация: 02.12.2011
Отчет полностью кастомный, и таблица имеет тип TempDB, а класс отчета является наследником SrsReportDataProviderPreProcessTempDB.
Кроме этого ради эксперимента пробовали использовать таблицу с типом Regular. Но проблема с ошибкой временного подключения к базе данных такая же.
Старый 22.04.2022, 12:52   #7  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от faddy Посмотреть сообщение
Отчет полностью кастомный, и таблица имеет тип TempDB, а класс отчета является наследником SrsReportDataProviderPreProcessTempDB.
Кроме этого ради эксперимента пробовали использовать таблицу с типом Regular. Но проблема с ошибкой временного подключения к базе данных такая же.
Может я чего-то не понимаю, но таблица RAssetInventorySheetTmp стандартная и имеет тип InMemory. Поменять тип таблицы через extension - нельзя. Ваше сообщение об ошибке упоминает именно эту таблицу. Вы уверены что у вас действительно таблица в режиме tempDB ?
Старый 22.04.2022, 13:54   #8  
faddy is offline
faddy
Участник
 
6 / 10 (1) +
Регистрация: 02.12.2011
Цитата:
Сообщение от fed Посмотреть сообщение
Может я чего-то не понимаю, но таблица RAssetInventorySheetTmp стандартная и имеет тип InMemory. Поменять тип таблицы через extension - нельзя. Ваше сообщение об ошибке упоминает именно эту таблицу. Вы уверены что у вас действительно таблица в режиме tempDB ?
Отчет полностью не стандартный, и реально используемая таблица именуется примерно так: XXX_RAssetInventorySheetTmp с TableType = TempDB
Старый 25.04.2022, 08:47   #9  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Да может конечно и другие какие то проблемы. Обычно какие-нибудь ошибки по месту выглядят как то более вразумительно, но исключать разумеется нельзя.

Насколько я понимаю отчет строится по принципу обхода query и в цикле идет вставка по одной записи или используется recordinsertlist ?

Интересно про 2.5 часа и regular - из 2.5 часов это все время идет обращение к бд, какое время занимает вывод уже готовых данных ?

Номер строки один и тот же на котором идет падение (возможно ли это как то проанализировать, например задав статическую сортировку в основном запросе ? ) С фильтрами по группам - по всем группам формируется отчет без ошибок ?

Я это к чему, возможно вы фильтрами выбиваете какие специфические данные, либо с фильтрами обращение к бд идет менее 45-50 минут.

В целом про какой объем строк в отчет идет речь ?
__________________
Sergey Nefedov
Старый 25.04.2022, 08:52   #10  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от fed Посмотреть сообщение
Может я чего-то не понимаю, но таблица RAssetInventorySheetTmp стандартная и имеет тип InMemory. Поменять тип таблицы через extension - нельзя. Ваше сообщение об ошибке упоминает именно эту таблицу. Вы уверены что у вас действительно таблица в режиме tempDB ?
А разве через метод setTempDB нельзя сделать tempDB, или этот вызов работает только для регулярных таблиц ?
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: fed (2).
Старый 25.04.2022, 09:39   #11  
Pandasama is offline
Pandasama
Участник
 
457 / 137 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Цитата:
Сообщение от SRF Посмотреть сообщение
А разве через метод setTempDB нельзя сделать tempDB
Нет, inMemory нельзя сделать TempDB
За это сообщение автора поблагодарили: SRF (1).
Теги
d365fo

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012 R3 WMDP, Разрешить ввод "<" в поля web-формы (ошибка "A potentially dangerous Request.Form value was detected from the client") RSrd DAX: Программирование 2 27.02.2020 15:19
D365FO - Ошибка "A valid value for parameter "PSAVendorTxt" does not exist" при предварительном просмотре заказа на покупку MarinaAX DAX: Программирование 3 05.09.2017 17:48
"Microsoft Web Browser" ActiveX control, проблема с передачей данных Hyper DAX: Программирование 6 20.09.2010 12:13
Проблема с "lookupField" и "lookupValue". Delfins DAX: Программирование 6 06.07.2009 18:42
Ошибка при присоединении к базе данных serg_ DAX: Администрирование 1 18.11.2008 11:36

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

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

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