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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2015, 16:34   #1  
Dmytro.Semenakha is offline
Dmytro.Semenakha
Участник
 
8 / 10 (1) +
Регистрация: 19.08.2015
Ошибка при выполнение SP через ODBC
Имеется такой код. Простые процедуры выполняет на ура. Но если в теле процедуры есть вставка данных в таблицы(для хранения некоторого промежуточного результата) получаю ошибку вида "Невозможно выбрать запись в ().База данных SQL обнаружила ошибку."

Кто-то сталкивался с подобным и может знает как лечится? При том ошибка вываливается в момент вызова resultSet.next().

X++:
    #define.SqlDriver   ('***')
    #define.Server      ('***')
    #define.Database    ('***')
    #define.User        ('***')
    #define.Password    ('***')

    OdbcConnection                  connection;
    Statement                       statement;
    LoginProperty                   loginProperty;
    ResultSet                       resultSet;

    SqlStatementExecutePermission   permission;
    Str                             _strSql = "execute ecGetProductCatalogue '1.0'";
    ;

    loginProperty = new LoginProperty();
    loginProperty.setOther(strFmt(  "DRIVER={%1};SERVER=%2;DATABASE=%3;UID=%4;PWD=%5;",
                                    #SqlDriver, #Server, #Database, #User, #Password));
    connection = new OdbcConnection(loginProperty);
    statement = connection.createStatement();
    permission = new SqlStatementExecutePermission (_strSql);
    permission.assert();
    resultSet = statement.executeQuery(_strSql);
    CodeAccessPermission::revertAssert();
    while( resultSet.next())
    {
        //Обработка данных
    }
Старый 25.09.2015, 17:33   #2  
axm2013
Гость
 
n/a
"Cannot select a record in ().The SQL database has issued an error." is an AX error saying that the problem occurred in the database and not in AX

http://dynamicsuser.net/forums/t/41496.aspx

Проблема на стороне SQL как понимаю а тут увы без знания что в вашей процедуре сказать что то сложно
Старый 25.09.2015, 17:38   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
В теле процедуры первой командой должна быть

SET NOCOUNT ON

В противном случае в качестве выходного значения Вы получите отчет о количестве втсавленных/удаленных/измененных записей. А эта информаций не может корректно сформировать RecordSet.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Dmytro.Semenakha (1).
Старый 25.09.2015, 17:46   #4  
Dmytro.Semenakha is offline
Dmytro.Semenakha
Участник
 
8 / 10 (1) +
Регистрация: 19.08.2015
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
В теле процедуры первой командой должна быть

SET NOCOUNT ON

В противном случае в качестве выходного значения Вы получите отчет о количестве втсавленных/удаленных/измененных записей. А эта информаций не может корректно сформировать RecordSet.
Спасибо. Проблема решена
Теги
odbc, sp, x++

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2009 ошибка No tree node for \Data Dictionary\.. rDenis2 DAX: Программирование 0 13.03.2014 21:16
Dynamics AX 2012 R2 CU7 ошибка при развертывании стандартных кубов. Баг системы? axm2013 DAX: Администрирование 5 11.12.2013 09:25
axforum blogs: Ошибка обновления Организации при установке UpdateRollup Blog bot DAX Blogs 0 11.04.2013 20:11
Ошибка в логе при установке клиента AX 2009 sao DAX: Администрирование 9 04.02.2010 11:56
ОС: Ошибка при создании строк журнала ввода в эксплуатацию через групповую операцию USTA DAX: Функционал 1 14.05.2009 15:55

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

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

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