|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
PB 9.0.1 bild 7171 + ORACLE 8.1.5 EE В датабазе-паинтре захожу в ISQL session и набираю: insert into t values('00'); insert into t values('11'); (Ctrl-L) Потом всё комментирую и набираю; Select * from t; (Ctrl-L) Получаю: Field1 00 11 Возвращаюсь в ISQL session: insert into t values('22'); (Ctrl-L) комментирую и набираю; Select * from t; (Ctrl-L) Получаю: Field1 22 А где же предыдущие инсерты? Ролбака не было. Аналогичная ситуация и в течении исполнения кода в программе: вставляется одна или несколько записей в несколько таблиц, потом делается селект из этих таблиц - и всё это без комита и ролбака, комит ставится в конце. Данные которые были вставлены перед селектом как-будто кто-то ролбачит. В оракловском клиенте всё отрабатывается правильно. Где засада? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 08:51 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
Нет. Есть Autocommit ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 11:45 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
А COMMIT за Вас Пушкин делать будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 11:45 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
Это же ОРАКЛЕ Я так понял, что вопрос непонятен, объясняю: действие первое - вставка записи; действие второе - вставка записи(ещё одной); действие третье - чтение записей(селект тех, которые вставили); действие четвёртое - комит (COMMIT); И в итоге в базе записей нет, но если комит перенести перед чтением, то есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 13:39 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
Геннадич И в итоге в базе записей нет, но если комит перенести перед чтением, то есть. А текущая настройка Оракла позволяет производить "грязное чтение", т.е. чтение не закоммиченных транзакций? Не знаю где и как выставляется, но должна быть.;) Если это так необходимо, то надо выставить. Хотя это дело темное. (Я Оракла не знаю, только название написать могу;)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 14:28 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
2 Centner : Это же моя сессия, и в ней я вижу то что вставил, для других сессий видимость моих вставок - дело уровня изоляции (по умолчанию read commited). Только после просмотра (select), даже не той таблицы в которую был инсерт, такое впечатление, что происходит rollback. В родном клиенте от оракла всё проходит как надо: могу Insert, Update, Delete в итоге получаю то что получилось и можно или закомитить все изменения или откатить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 14:36 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
вариант1: наверно где-то между запросами происходит переконнект с неявным роллбеком (в DB Profile снята галка Commit On Disconnect). вариант2: на самом деле это две разных сессии проверить просто: select userenv('SESSIONID') from dual; ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 15:12 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
Для Oracle, по всей видимости, должен быть инструмент типа Profiler для MS SQL - отслеживает все обращения к базе и выдает их пользователю. Вот и посмотрите, какие SQL команды шлет PowerBuilder. А ваши теории насчет AutoRollBack - не верны, т.к. в этом случае в базу вообще ничего бы нельзя было вставить, ведь COMMIT в этом случае точно такой же оператор как и SELECT, и для него этих данных тогда тоде бы не существовало. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 15:14 |
|
У PB есть AutoRollback???
|
|||
---|---|---|---|
#18+
А что думает по этому поводу сам Оракл? Попробуй поковырять лог-файл до коммита и после. Геннадич В датабазе-паинтре захожу в ISQL session и набираю: ... Возвращаюсь в ISQL session: ??? Захожу ... возвращаюсь ??? Это описка или как? Может он в этом случае и считает что разные сессии? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2004, 06:15 |
|
|
start [/forum/topic.php?fid=15&msg=32565472&tid=1339082]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 249ms |
0 / 0 |