01.02.2017, 14:27 | #21 |
Участник
|
Я нашла причину. И она оказалась вовсе не в базе данных, а в коде.
Был добавлен вызов SQL запроса, в котором в начале отключался вывод кол-во полученных строк результата (set nocount on), а в конце забыли его включить (set nocount off). После выполнения запроса любой следующий update любой таблицы выдает ошибку "Вы пытаетесь оперировать с одной записью, но затрагивается большее количество записей. Проверьте индексы, запустите синхронизацию базы данных, или что-либо эквивалентное." Например, выполнение вот такого простейшего job'a приведет к ошибке для следующего update'a любой записи на любой форме. X++: static void probaSetNocountOff(Args _args) { UserConnection connection = new UserConnection(); Statement stmt = connection.createStatement(); ResultSet rSet; str query_; ; query_ = "set nocount on" + "\n" + "select top 1 ItemId " + "from InventTable (nolock) " + "where dataareaID = '" + curext() + "'" + "\n" // + "set nocount off" ; rSet = stmt.executeQuery(query_); while (rSet.next()) { info(rset.getString(1)); } } В общем, сами создаем себе проблемы. Всем спасибо за ответы. |
|
|
За это сообщение автора поблагодарили: olesh (1), S.Kuskov (5). |
|
|