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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.03.2008, 13:44   #1  
Mary is offline
Mary
Участник
 
45 / 10 (1) +
Регистрация: 27.02.2004
Здравствуйте, интересует след. вопрос:

Через object designer на клиентском компьютере открываю таблицу 17 G/L Entries.
Накладываю фильтр на одно из полей (например Дата Учета '01.02.07').
Нажимаю кнопку OK в окне Field Filter.

Необходимо понять последовательно: какие действия выполняются клиентом, а какие сервером после нажатия кнопки OK. Т.е. сервер получает запрос от клиента, возвращает набор записей и т.п.
Старый 13.03.2008, 14:16   #2  
GalaM is offline
GalaM
Moderator
Лучший по профессии 2009
 
640 / 42 (3) +++
Регистрация: 13.03.2008
Адрес: Москва
Надежнее всего будет запустить SQL Monitor (кажется так называется утилита, которая позволяет контролировать все запросы к серверу) и там все будет видно.
А для контроля на стороне клиента включить DEbugger.

Вместе будет целостная картина.

А зачем вам, если это не секрет, это надо?
Старый 13.03.2008, 15:17   #3  
Mary is offline
Mary
Участник
 
45 / 10 (1) +
Регистрация: 27.02.2004
gala,
все таки хотелось бы понимать, какова последовательность действий (я, конечно же, не говорю про детализацию на уровне команд, а именно на базовом уровне). Ведь наложение фильтра на опред. поле 17ой таблицы должно вызывать всегда одинаковый порядок действий со стороны клиента и сервера (отправил запрос, принял запрос, что-то скэшировал и т.п.)

Касательно детализации: обработку просматриваем через SQL Server Profiler, но сами понимаете, без нужной сноровки там не так легко разобраться, одна смена ключа порождает около десятка вызовов процедур. Да и опять же, в такой детализации потребности пока нет. Пытаюсь идти от простого.
Старый 13.03.2008, 15:34   #4  
GalaM is offline
GalaM
Moderator
Лучший по профессии 2009
 
640 / 42 (3) +++
Регистрация: 13.03.2008
Адрес: Москва
Цитата:
Сообщение от Mary Посмотреть сообщение
gala,
одна смена ключа порождает около десятка вызовов процедур.
Я с этим то же столкнулась и бросила это неблагодарное занятие
Так как запросы посылаемые на сервер (как и их количество) достаточно неожиданы для тех, кто работал сам непосредственно с SQL БД. Хотя может быть специалисты и не согласяться с этим....

Один мой клиент живо всякие глюки мог через SQL Profiler отловить, которые не понятны были, если работать только с NAV
Старый 13.03.2008, 18:37   #5  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Mary Посмотреть сообщение
Здравствуйте, интересует след. вопрос:

Через object designer на клиентском компьютере открываю таблицу 17 G/L Entries.
Накладываю фильтр на одно из полей (например Дата Учета '01.02.07').
Нажимаю кнопку OK в окне Field Filter.

Необходимо понять последовательно: какие действия выполняются клиентом, а какие сервером после нажатия кнопки OK. Т.е. сервер получает запрос от клиента, возвращает набор записей и т.п.
НАВ на SQL пока работает с курсорами. И если Вы это делаете через дизайнер, то после прочтения к базе обращений не будет, а работет finsql.exe
Старый 14.03.2008, 11:51   #6  
Mary is offline
Mary
Участник
 
45 / 10 (1) +
Регистрация: 27.02.2004
RedFox,
про серверные курсоры я вчера поняла, покопавшись с профайлером. Только не поняла, что значит "пока работает с курсорами"? Есть информация о другом принципе работы с данным в 6-ке? Если да, поделитесь, пожалуйста.

Получается, что после наложения фильтра, finsql отправляет запрос на сервер, сервер возвращает набор в виде курсора, а далее это работа finsql отобразить его для нас.
Я правильно понимаю, что серверные курсоры поддерживают свое автоматическое обновление? Т.е. при переходе на след. запись запрос на сервер (обращение к базе) происходит, но косвенно, посредствам внутренних процедур серверных курсоров?

В том же профайлере обнаружено, что при переходе между записями выполняется процедура sp_execute (used to execute a prepared SQL statement.), т.е. некий запрос к серверу каждый раз выполняется. Наверное, это и есть обновление инф-ии о записи в текущем клиентском курсоре.
Код:
exec sp_execute 26,'CRONUS International Ltd.',0,<внутренний код записи>
Старый 14.03.2008, 13:56   #7  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Mary,

А зачем Вам эта последовательность команд и что, где, когда, обрабатывается?
 


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

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

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