powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Правильно сделать подключение к БД
4 сообщений из 4, страница 1 из 1
Правильно сделать подключение к БД
    #37192525
gamu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Есть относительно небольшая программа использующя=ая в своей работе Оракл, соединение с базой программы сделано в классе с главной формы и доступно через открытое свойство (при запуске приложения соединение открывается, а при завершении закрывается). Меня интересует насколько такой подход правильный и как в таком случае лучше использовать транзакции (открывать отдельно транзакцию в каждом классе который использует соединение и завершать или отрывать транзакцию при открытии соединения)?
...
Рейтинг: 0 / 0
Правильно сделать подключение к БД
    #37193370
wcf.net.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gamuДобрый день. Есть относительно небольшая программа использующя=ая в своей работе Оракл, соединение с базой программы сделано в классе с главной формы и доступно через открытое свойство (при запуске приложения соединение открывается, а при завершении закрывается). Меня интересует насколько такой подход правильный и как в таком случае лучше использовать транзакции (открывать отдельно транзакцию в каждом классе который использует соединение и завершать или отрывать транзакцию при открытии соединения)?

Соединение надо открывать только в тот момент, когда оно требуется и использовать пул соединений. Транзакция на весь период работы программы - это что - то новое Транзакции на клиенте лучше вообще не начинать.
...
Рейтинг: 0 / 0
Правильно сделать подключение к БД
    #37193394
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gamu,

Если у Вас (это я так понял, что не вэб) открывается коннект при старте приложения, а закрывается при завершении - это вролне нормально. Только не путайте коннект и транзакции. Транзакция должна стартовать только в том случае, если Вы начали делать какое-то изменение в базе. После внесения изменений (они могут быть связанными) сразу же закрывать транзакцию по COMMIT или ROLLBACK, но вовсе не коннект. А в случае выборки данных из базы вообще никакую транзакцию стартовать не нужно. Так что, то, что Вы написали следует нескольео переосмыслить.
...
Рейтинг: 0 / 0
Правильно сделать подключение к БД
    #37193830
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то Oracle сам начинает транзакцию когда нужно (первый DML-оператор после завершения предыдущей транзакции или первый в сессии). Вот завершение зависит от пользователя, хотя иногда Oracle сам неявно ее завершает (например, при выполнении DDL). А SELECT вообще не начинает транзакцию, вернее начинает, но по завершении оператора заканчивает. На эту тему был топик на форуме Oracle, но это больше теоретические разговоры, проще считать, что совсем не начинает.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Правильно сделать подключение к БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]