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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.09.2005, 09:15   #21  
vc is offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Регистрация: 03.06.2005
Не уверен, но мне кажется, что я натыкался на подобные грабли. (Не в Аксапте). Попробуйте в методе Аксапты перед вызовом хранимой процедуры начать транзакцию. Ну и коммит, после отработки Query Analyzer работает в режиме auto commit по умолчанию
Старый 26.09.2005, 09:17   #22  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Установил я при помощи простых операций, которых навставлял в процедуре (вставлял записи в одну табличку), смотрел в Profiler.

Я теперь попробовал сделать вот таким способом


OdbcConnection C;
Statement S;
LoginProperty LP = new LoginProperty();
;


LP.setDatabase("AXTEST");
LP.setDSN("AXTEST");
LP.setUsername(" "); тут логин
LP.setPassword(" "); а тут пароль
LP.setOther("MODE=1;PATCH=32");

C = new OdbcConnection(LP);
S = C.createStatement();
ds = date2str(PeriodBegin,213,2,3,2,3,4);
de = date2str(PeriodEnd,213,2,3,2,3,4);
sqlS = ("EXECUTE [AXTest].[bmssa].[GET_DISC_CARD_REP] %1, %2, %3, %4, %5, %6, '%7', '%8'");
S.executeUpdate(strfmt(sqlS, Count_Buys0, Count_Buys1, Count_Buys2, Count_Buys3, Count_Buys4, Actual_Period, ds, de));

Ситуация такая, цикл while @@FETCH_Status=0 проходит полность, по его завершению больше ничего не происходит
Старый 26.09.2005, 09:32   #23  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А если убрать вообще вызов этой функции, то цикл будет работать?
__________________
Axapta v.3.0 sp5 kr2
Старый 26.09.2005, 09:34   #24  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Цикл отрабатывается нормально и нормально отрабатываются все операции в этом цикле в том то и дело что после выхода из цикла, когда курсор будет полностью перебран, ничего не происходит
Старый 26.09.2005, 09:46   #25  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Извините, не понял. Т.е. если убрать вызов функции, то ничего не изменится? Процедура будет отрабатывать неправильно?
__________________
Axapta v.3.0 sp5 kr2
Старый 26.09.2005, 09:48   #26  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Теперь я не понял

функцию Is_Worked? если ее то да, правильно поняли
Старый 26.09.2005, 10:06   #27  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Первое что непонятно - зачем используется таблица ##DISC_CARD_REP_TMP? Если для identity RecId, то можно и самому формировать RecId.
Второе - зачем выполняется insert, а затем update? Объедините их, выполняйте только Insert
__________________
Axapta v.3.0 sp5 kr2
Старый 26.09.2005, 10:22   #28  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Думаете в этом проблема?

Сейчас попробовал избавиться от цикла while при помощи меток, не помогло, получается поцедура вылетает когда @@FETCH_Status становится не равным 0
Старый 26.09.2005, 10:33   #29  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Не знаю. Просто использование лишней таблицы по-моему в данном случае неоправдано. Да и выполнением лишиних операций.

Попробуйте завернуть вызов вашей процедуры в другую процедуру и обрабатывать @@ERROR.
__________________
Axapta v.3.0 sp5 kr2
Старый 26.09.2005, 11:04   #30  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Все дело вообщем в курсоре, если остановится его перебирать, даже не добравшись до окончания то процедура вылетает все равно, щас буду думать как обойтись без него...
Старый 26.09.2005, 11:16   #31  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Скажите пожалуйста, а использование квалификатора имени бд в конструкции insert (axtest., имеется в виду)... это с чем связано? У вас распределенная транзакция?

С уважением, itfs.
Старый 26.09.2005, 13:17   #32  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Была, теперь нет. Я все в одну базу слил.

Дело было не в курсоре, я от него избавился тупым методом создал временную табличку, в нее данные перекинул и с ней уже работал, все равно в том же месте вылетает, мне уже охота застрелиться
Старый 26.09.2005, 13:32   #33  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Теперь уже непонятно - про какое место идет речь

Попробуйте все-таки обработать @@ERROR во внешней процедуре - хоть узнаете по какой ошибке вылетает
__________________
Axapta v.3.0 sp5 kr2
Старый 26.09.2005, 13:37   #34  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Место это где я в цикле while перебирал курсор, теперь я просто перебирал данные из таблички временной, перебрав все данные она прекращала работу.

Да наверное придется еще процедуру написать
Старый 26.09.2005, 13:56   #35  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Вот я и смотрю, что Is_worked с другой бд работает, вобщем, очень замысловато.
Теперь это не так, а проблема все-равно остается?
Вы пользуетесь отловом исключительных ситуаций? Что при этом видно?

С уважением, itfs.
Старый 26.09.2005, 14:16   #36  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Да, теперь не так, но не изменилось абсолютно ничего.

Самое интересное что @@ERROR всегда равен 0
То есть ошибки как таковой нет.

Я уже вообще отказываюсь что либо понимать
Старый 26.09.2005, 14:29   #37  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Было бы неплохо увидеть новый код, работа которого вызывает нарекание. Ну и рез-ты экспериментов, тоже интересны...
С чем мы теперь боремся? с курсором?

С уважением, itfs.
Старый 26.09.2005, 14:32   #38  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Код практически не изменился, дело было не в курсоре. я от него избавлялся, толку не было, я его назад вернул
Старый 26.09.2005, 14:47   #39  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Вложите Trace File из SQL Profiler'а. По коду уже ничего не понятно. Будем смотреть выполнение
__________________
Axapta v.3.0 sp5 kr2
Старый 26.09.2005, 14:57   #40  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Присоединяюсь. Я бы только еще, судя по дальнейшему использованию, сразу на курсоре поставил LOCAL STATIC.

С уважением, itfs.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сильно модифицировано ваше приложение Аксапты? mazzy DAX: Прочие вопросы 30 14.04.2011 17:26
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Как сильно модифицировано ваше приложение Аксапты? (% обновленных объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:41
Как сильно модифицировано ваше приложение Аксапты? (% новых объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:40
Экспорт / импорт Help topics и запуск второй сессии Аксапты из-под себя DmitrySt DAX: Программирование 0 25.11.2004 00:22

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

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

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