25.09.2015, 16:34 | #1 |
Участник
|
Ошибка при выполнение 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 |
Гость
|
"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 |
Участник
|
В теле процедуры первой командой должна быть
SET NOCOUNT ON В противном случае в качестве выходного значения Вы получите отчет о количестве втсавленных/удаленных/измененных записей. А эта информаций не может корректно сформировать RecordSet.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: Dmytro.Semenakha (1). |
25.09.2015, 17:46 | #4 |
Участник
|
Спасибо. Проблема решена
|
|
Теги |
odbc, sp, x++ |
|
|