Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Правильно сделать подключение к БД
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть относительно небольшая программа использующя=ая в своей работе Оракл, соединение с базой программы сделано в классе с главной формы и доступно через открытое свойство (при запуске приложения соединение открывается, а при завершении закрывается). Меня интересует насколько такой подход правильный и как в таком случае лучше использовать транзакции (открывать отдельно транзакцию в каждом классе который использует соединение и завершать или отрывать транзакцию при открытии соединения)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2011, 14:51 |
|
||
|
Правильно сделать подключение к БД
|
|||
|---|---|---|---|
|
#18+
gamuДобрый день. Есть относительно небольшая программа использующя=ая в своей работе Оракл, соединение с базой программы сделано в классе с главной формы и доступно через открытое свойство (при запуске приложения соединение открывается, а при завершении закрывается). Меня интересует насколько такой подход правильный и как в таком случае лучше использовать транзакции (открывать отдельно транзакцию в каждом классе который использует соединение и завершать или отрывать транзакцию при открытии соединения)? Соединение надо открывать только в тот момент, когда оно требуется и использовать пул соединений. Транзакция на весь период работы программы - это что - то новое Транзакции на клиенте лучше вообще не начинать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2011, 22:49 |
|
||
|
Правильно сделать подключение к БД
|
|||
|---|---|---|---|
|
#18+
gamu, Если у Вас (это я так понял, что не вэб) открывается коннект при старте приложения, а закрывается при завершении - это вролне нормально. Только не путайте коннект и транзакции. Транзакция должна стартовать только в том случае, если Вы начали делать какое-то изменение в базе. После внесения изменений (они могут быть связанными) сразу же закрывать транзакцию по COMMIT или ROLLBACK, но вовсе не коннект. А в случае выборки данных из базы вообще никакую транзакцию стартовать не нужно. Так что, то, что Вы написали следует нескольео переосмыслить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2011, 23:12 |
|
||
|
Правильно сделать подключение к БД
|
|||
|---|---|---|---|
|
#18+
Вообще-то Oracle сам начинает транзакцию когда нужно (первый DML-оператор после завершения предыдущей транзакции или первый в сессии). Вот завершение зависит от пользователя, хотя иногда Oracle сам неявно ее завершает (например, при выполнении DDL). А SELECT вообще не начинает транзакцию, вернее начинает, но по завершении оператора заканчивает. На эту тему был топик на форуме Oracle, но это больше теоретические разговоры, проще считать, что совсем не начинает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 11:01 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=46&tid=1350832]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 379ms |

| 0 / 0 |
