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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.05.2009, 10:17   #1  
Irv is offline
Irv
Участник
 
8 / 11 (1) +
Регистрация: 18.05.2006
Максимальный размер контейнера хранимого в таблице
Доброе утро!

Не сталкивался ли кто-нибудь с ограничением на максимальный размер контейнера хранимого в таблице? Если да, то как можно с ним бороться?

Действие ограничения можно увидеть в приведенном ниже примере. Если размер бинарного блока <= 10485653, запись в таблице TableCon создается корректно, если больше поле Container оказывается пустым. Пример проверялся на AX 4.0 SP2.

PHP код:
static void JobCon(Args _args)
{
    
Binary      Binary = new Binary(10485654);
    
BinData     BinData = new BinData();
    
container   c;
    
TableCon    tableCon;
    ;
    
BinData.setBinaryData(Binary);
    
BinData.getData();
    
ttsbegin;
    
delete_from tableCon;
    
tableCon.Container  c;
    
tableCon.insert();
    
ttscommit;
    
select firstonly tableCon;
    
info(int2str(conlen(tableCon.Container)));

Старый 13.05.2009, 11:58   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
"максимальный размер контейнера хранимого в таблице" - зависит от используемой СУБД... В частности в Оракле - это тип BLOB, на 9i - до 4 ГБ, на больших версиях - счёт идёт на терабайты, в зависимости от размера блока используемого в БД. На сиквеле картина примерно такая же, точные цифры навскидку не помню, но не менее 2Гб - это точно... Так что у вас проблема не с этим, а с Аксаптой, или с кодом...

Прикольно, в тройке в таблице нельзя было создать поле с названием Container - зарезервированное слово. А в 4-ке и в 2009 уже можно... зачем спрашивается?

Попробовал прогнать ваш пример на 3-ке и на 2009.
На 3.0 сп3 - работает с любыми значениями, показывает единичку...
На 2009 - если > 10485653 - пишет "Размер распаковываемого контейнера превышает MaxBufferSize. При попытке вставить запись, содержащую этот контейнер произойдёт сбой". Ошибка на инсерте происходит.

Далее пользуемся поиском по MaxBufferSize и получаем:
Падает клиент при прикреплении документа
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: Irv (1).
Старый 13.05.2009, 13:52   #3  
Irv is offline
Irv
Участник
 
8 / 11 (1) +
Регистрация: 18.05.2006
Спасибо!
Решенение из указанной темы помогло. Установив MaxBufferSize в ноль на клиенте и на сервере ограничение на размер контейнера получилось снять. В моем случае проблема проявлялась при печати большого отчета в файл одной страницей
PHP код:
PrintJobSettings.virtualPageHeight(0); 
Печать завершалась с ошибкой:
Cannot select a record in Print job information (page-level) (PrintJobPages).
The record has been deleted by another user.

Хотелось бы еще знать какие могут быть последствия от снятия ограничения на MaxBufferSize.
Старый 13.05.2009, 14:32   #4  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1235 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Irv Посмотреть сообщение
....

Хотелось бы еще знать какие могут быть последствия от снятия ограничения на MaxBufferSize.
Это скорее не к MaxBufferSize, а к большому контейнеру в записи.

см. Падает АОС - ax32Serv buffer overrun...
За это сообщение автора поблагодарили: Irv (1).
Теги
container, maxbuffersize, контейнер

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фильтрование записей при "переходе к основной таблице" demID DAX: Программирование 10 18.11.2015 12:52
как сохранить запрос в таблице kitty DAX: Программирование 13 19.11.2007 20:16
Переход на правильную запись при Переходе к основной таблице. Anais DAX: Программирование 11 29.06.2004 19:16
фильтр по связанной таблице mick_777 DAX: Программирование 13 21.08.2002 16:00

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:34.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.