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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.01.2009, 14:36   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,702 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Хранимые процедуры вполне нормально возвращают результаты (запросы). Однако есть некоторые "тонкости".

1. Дело в том, что ряд команд SQL-сервера возвращают нечто вроде "отчета" об успешном своем выполнении. В данном случае, вероятно, команда

X++:
SET LANGUAGE N'русский'
Т.е. факт выполнения этой команды привел к выдаче сообщения

Цитата:
Параметры языка изменены на "русский"
Это сообщение было воспринято как возвращаемый результат и передано в ResultSet. Но, поскольку это значение не является ResultSet, то на стороне клиента это вызвало ошибку.

Чтобы избежать подобных недоразумений необходимо первой командой внутри хранимой процедуры сделать такую настройку

X++:
SET NOCOUNT ON
Эта настройка подавляет подобные неуместные сообщения-отчеты

2. В качестве возвращаемого значений из хранимой процедуры при использовании statment.executeQuery() ожидается ResultSet. Он будет сформирован корректно в том случае, если последней исполняемой командой в хранимой процедуре будет запрос. Т.е. команда

SELECT ... FROM ...

OpenQuery() - в данном случае лишний.
Старый 20.01.2009, 14:57   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,332 / 3557 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Хранимые процедуры вполне нормально возвращают результаты (запросы). Однако есть некоторые "тонкости".
Не буду спорить с гуру. В свое время с наскоку не получилось - вот и решил, что не возвращают. Был неправ.
__________________
Возможно сделать все. Вопрос времени
Старый 20.01.2009, 15:00   #3  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Хранимые процедуры вполне нормально возвращают результаты (запросы). Однако есть некоторые "тонкости".
...
Понятно и полезно. Спасибо. Отправлю в качестве советов разработчику хранимой процедуры. Надеюсь, поможет
__________________
AX 3.0, Build #9.3
Теги
sql, хранимые процедуры

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вызов метода element.args().caller().setOfficialsParams(.... Poleax DAX: Программирование 6 04.09.2008 19:49
Вызов метода базового класса Eldar9x DAX: Программирование 15 22.03.2008 19:10
Вызов экспортируемой функции DLL Jabberwocky DAX: Программирование 8 12.09.2006 17:20
вызов хранимых процедур из Ax 3.0 Антон Солдатов DAX: Программирование 2 19.08.2004 16:48
Вызов формы, не модифицируя ее заголовка AndrewP DAX: Программирование 1 04.07.2003 14:20

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

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

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