|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
Поискал по форуму, случая похожего на мой не нашел есть DW, на хранимой процедуре. прям в РВ на этой DW нажимаем Retrieve -> список нормально ретривится удаляю одну или несколько строк, нажимаю "Save changes" вываливается вот такое соощение Row changed between retrieve and update. No changes made to database. DELETE FROM bg_2joins WHERE j_id = 2307 PB11.5.1 build 4608, коннект к базе через SNC SQL Native Client(OLE DB), база MSSQL2000 Но дело в том что таже самая DW отлично сохраняет если коннект к Ораклу... и также нормально сохраняла в MSSQL пока сорсы были на РВ9. Похоже проблема именно в SNC SQL Native Client(OLE DB)... может какой параметр нужно ему в строку коннекта вставить? чего ему надо то? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2009, 22:06 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
В процедуре при изменении верните 1 RETURN 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 15:04 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
Raven AВ процедуре при изменении верните 1 RETURN 1 у меня нет процедуры на изменение или удаление... процедура только на селект ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 15:09 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
Raven A навел на мысль решил так при dw.Update() в dberror вылавливаю эту ошибку -> return 1 а после commita сделал dw.ResetUpdate() ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 15:58 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
VanoRу меня нет процедуры на изменение или удаление... процедура только на селектА какие, и, главное, как и куда "changes" Вы хотите "Save", нажимая на соответствующую кнопку то? Вы уж, если ожидаете ответа, вводные то полностью давайте - каким образом у вас в этом ДВ реализован Insert/Update/Delete ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 15:58 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
IkarVanoRу меня нет процедуры на изменение или удаление... процедура только на селектА какие, и, главное, как и куда "changes" Вы хотите "Save", нажимая на соответствующую кнопку то? Вы уж, если ожидаете ответа, вводные то полностью давайте - каким образом у вас в этом ДВ реализован Insert/Update/Delete ? процедура страбатывает только на dw.retrieve(), при этом возвращает все необходимые данные, чтоб можно было потом эту dw апдейтить, а именно Primary Key. Также все описано в Update Properties. Удаление и изменение как в обычной (без процы) dw удаление строки из этой dw - dw.DeleteRow( dw.GetRow()); dw.Update() изменение - чего-нибудь поменял, потом dw.Update() инсерта в этой dw нету совсем, другими путями инсертится ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 16:11 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
хотя все равно не понятно, почему эта ошибка стала вылазить только после перехода на РВ11 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 16:14 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
Вано, а ты уверен что проблемы не было в девятке а одинадцатый починил при миграции? Я на 9, но и в предыдущих версиях, при искусственно добавлении или убирании колонки из датавинды, разваливался весь where clause и при update использовались только key columns ... увидеть это можно было только в source editor ... и юзеры доставшие одновременно один и тот же рекорд друг друга успешно переписывали ... Я потом себе даже парсер написал, пройтись по всем датавиндам в библиотеках и поправить update=yes updatewhereclause=но на update=yes updatewhereclause=yes ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2009, 21:43 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
Уверен. проблемы пропали и... проблема была не в добавлении колонок, а только при сохранении удаленных строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2009, 22:09 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
voronk...а ты уверен что проблемы не было в девятке а одинадцатый починил при миграции?... Есть мнение ( в оч-чень узких кругах), что процесс миграции в РВ ( любых версий) для "ленивых", т.е. всё равно "руцями" надо корректировать, иначе работать (если повезет) будет как то криво. От сюда совет: на Аллаха надейся, а ишака привязывай. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2009, 23:55 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
еще раз проблемма не в миграции... Похоже проблема именно в SNC SQL Native Client(OLE DB) если прочитать тему с начала, то должно стать все понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 09:32 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
Ента беда OLE DB. У вас скорее всего есть триггер на удаление на таблице bg_2joins,который что-то да возвращает (например, кол-во задействованных строк от Select'а в скрипте триггера) . Раз что-то вернулось, то то ли PowerBuilder, то ли драйвер БД считает, что произошла ошибка. Если в самом начале триггера написать Код: plaintext
К сожалению, так надо писать во всех триггерах и процедурах. Хотя может есть и другой способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2009, 20:25 |
|
Row changed between retrieve and update
|
|||
---|---|---|---|
#18+
на самом деле после вставки SET NOCOUNT ON ...тело триггера SET NOCOUNT OFF все заработало... Спасибо только вот не совсем понятно... ругается только когда в тригере есть delete from... , а вот если в триггере например есть Insert (аудитовский триггер какой-нибудь), то не ругается ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2009, 21:07 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1336087]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
12ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 347ms |
total: | 537ms |
0 / 0 |