|
|
|
Проблема с выполнением запросов
|
|||
|---|---|---|---|
|
#18+
В программе выполняется последовательно два запроса: UPDATE Hoz SET NORMA=302,NORMACOUNT=10,StartDate='1.01.2005 0:0:0',LS=3 WHERE ID=17638; SELECT ID,ShowName,NormaCount,BeginDate FROM GetHozForLs(3); Все было хорошо, пока я не написал к таблице Hoz триггер. Триггер выполняется долго (около 3с.), после чего запрос выборки возвращает старые записи, т.е. UPDATE как и не было. Ошибок я при этом не получаю. Вставка между запросами Sleep(3000) помогает, но это же не решение. В среде запросы выполняться просто на ура. Сервер БД: SQL Server 2005. API: ODBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 01:49 |
|
||
|
Проблема с выполнением запросов
|
|||
|---|---|---|---|
|
#18+
colomboВ программе выполняется последовательно два запроса: UPDATE Hoz SET NORMA=302,NORMACOUNT=10,StartDate='1.01.2005 0:0:0',LS=3 WHERE ID=17638; SELECT ID,ShowName,NormaCount,BeginDate FROM GetHozForLs(3); Все было хорошо, пока я не написал к таблице Hoz триггер. Триггер выполняется долго (около 3с.), после чего запрос выборки возвращает старые записи, т.е. UPDATE как и не было. Ошибок я при этом не получаю. Вставка между запросами Sleep(3000) помогает, но это же не решение. В среде запросы выполняться просто на ура. Сервер БД: SQL Server 2005. API: ODBC А коммитить (commit) первый запрос не пробовал? Такое ощущение, что данные в таблице просто не обновились... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 06:36 |
|
||
|
Проблема с выполнением запросов
|
|||
|---|---|---|---|
|
#18+
а если выполнить одним общим запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 10:20 |
|
||
|
Проблема с выполнением запросов
|
|||
|---|---|---|---|
|
#18+
Станислав C. colomboВ программе выполняется последовательно два запроса: UPDATE Hoz SET NORMA=302,NORMACOUNT=10,StartDate='1.01.2005 0:0:0',LS=3 WHERE ID=17638; SELECT ID,ShowName,NormaCount,BeginDate FROM GetHozForLs(3); Все было хорошо, пока я не написал к таблице Hoz триггер. Триггер выполняется долго (около 3с.), после чего запрос выборки возвращает старые записи, т.е. UPDATE как и не было. Ошибок я при этом не получаю. Вставка между запросами Sleep(3000) помогает, но это же не решение. В среде запросы выполняться просто на ура. Сервер БД: SQL Server 2005. API: ODBC А коммитить (commit) первый запрос не пробовал? Такое ощущение, что данные в таблице просто не обновились... Да нет, коммит не нужен т.к. в текущей сессии момента выполнения можно и без коммита увидеть, то что изменил в БД. Может здесь мультисессийный режим? На апдейта одна, а на седлект уже другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2006, 12:19 |
|
||
|
Проблема с выполнением запросов
|
|||
|---|---|---|---|
|
#18+
commit пробовал, не помогает. Не помогает даже commit с отключением и новым подключением. Одним запросом сейчас попробовал. Результат отличается от предыдущего ошибкой «Неправильное состояние курсора» и естественно пустой набор записей в результате. Если за этой парой сразу послать SELECT, то он вернет старые записи, задержка в посылке SELECT приводит к нормальным результатам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2006, 02:04 |
|
||
|
Проблема с выполнением запросов
|
|||
|---|---|---|---|
|
#18+
colombo Какой уровень изоляции транзакций используете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 11:32 |
|
||
|
Проблема с выполнением запросов
|
|||
|---|---|---|---|
|
#18+
Если верить SQLGetConnectAttr то READ COMMITTED ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 04:06 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=328&tid=2030202]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
292ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 570ms |

| 0 / 0 |
