Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 У PB есть AutoRollback???  [new]
Геннадич
Member

Откуда: Алматы
Сообщений: 640
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 июн 04, 08:51    [746897]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Mykola
Member

Откуда:
Сообщений: 615
Нет. Есть Autocommit
17 июн 04, 11:45    [747437]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
andy753
Member

Откуда: Moscow
Сообщений: 368
А COMMIT за Вас Пушкин делать будет?
17 июн 04, 11:45    [747438]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Геннадич
Member

Откуда: Алматы
Сообщений: 640
Это же ОРАКЛЕ
Я так понял, что вопрос непонятен, объясняю:
действие первое - вставка записи;
действие второе - вставка записи(ещё одной);
действие третье - чтение записей(селект тех, которые вставили);
действие четвёртое - комит (COMMIT);
И в итоге в базе записей нет, но если комит перенести перед чтением, то есть.
17 июн 04, 13:39    [747898]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Centner
Member

Откуда: Где-то рядом с Ё-бургом
Сообщений: 45
Геннадич
И в итоге в базе записей нет, но если комит перенести перед чтением, то есть.

А текущая настройка Оракла позволяет производить "грязное чтение", т.е. чтение не закоммиченных транзакций? Не знаю где и как выставляется, но должна быть.;) Если это так необходимо, то надо выставить. Хотя это дело темное.
(Я Оракла не знаю, только название написать могу;))
17 июн 04, 14:28    [748078]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Геннадич
Member

Откуда: Алматы
Сообщений: 640
2 Centner :
Это же моя сессия, и в ней я вижу то что вставил, для других сессий видимость моих вставок - дело уровня изоляции (по умолчанию read commited). Только после просмотра (select), даже не той таблицы в которую был инсерт, такое впечатление, что происходит rollback. В родном клиенте от оракла всё проходит как надо: могу Insert, Update, Delete в итоге получаю то что получилось и можно или закомитить все изменения или откатить.
17 июн 04, 14:36    [748112]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
вариант1:
наверно где-то между запросами происходит переконнект с неявным роллбеком (в DB Profile снята галка Commit On Disconnect).
вариант2:
на самом деле это две разных сессии

проверить просто:
select userenv('SESSIONID') from dual;
17 июн 04, 15:12    [748270]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
Для Oracle, по всей видимости, должен быть инструмент типа Profiler для MS SQL - отслеживает все обращения к базе и выдает их пользователю. Вот и посмотрите, какие SQL команды шлет PowerBuilder. А ваши теории насчет AutoRollBack - не верны, т.к. в этом случае в базу вообще ничего бы нельзя было вставить, ведь COMMIT в этом случае точно такой же оператор как и SELECT, и для него этих данных тогда тоде бы не существовало.
17 июн 04, 15:14    [748282]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Centner
Member

Откуда: Где-то рядом с Ё-бургом
Сообщений: 45
А что думает по этому поводу сам Оракл? Попробуй поковырять лог-файл до коммита и после.
Геннадич
В датабазе-паинтре захожу в ISQL session и набираю:
...
Возвращаюсь в ISQL session:

??? Захожу ... возвращаюсь ??? Это описка или как? Может он в этом случае и считает что разные сессии?
18 июн 04, 06:15    [749573]     Ответить | Цитировать Сообщить модератору
 Re: У PB есть AutoRollback???  [new]
Геннадич
Member

Откуда: Алматы
Сообщений: 640
2 Centner :
Захожу ... возвращаюсь - это в смысле по закладкам "ISQL Session" и "Result"
18 июн 04, 07:37    [749617]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить