|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.07.2014, 09:30 | #1 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
Соединение с БД (конкретно UniDAC)
Приветствую!
Пишу что-то вроде серверного приложения, для работы с некоторыми устройствами и добавление информацию в БД. Вопрос встал вот в чем: При старте приложения, создается подключение к бд (MySQL, SQL Server или другой вариант). Все работает хорошо. Но на сколько целесообразно держать соединение открытым? Не могут ли возникнуть проблемы с, например, разрывом соединения спустя час работы? Или это как-то UniDAC сам решает? Я думаю, может быть стоит самому разрывать соединение, если, скажем, 20 минут не поступало никаких запросов? А при получении такового - проверять соединение (разорванное мною или как-то само) и соединять заново. Но тут фишка в чем, этот "стартовый" запрос будет занимать куда больше времени, хотя это не критично, запросов, ну крайский край будет 1 в минуту. Заранее спасибо! |
30.07.2014, 09:34 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Как по мне соединение отслеживать вообще не надо.
Этим провайдер СУБД пусть занимается. Я не знаю как Юнидак работает, но допустим по аналогии с ADO - надо получить результат запрос - открыл набор - работаешь с результатом. Работай с них хоть до второго пришествия. Сервер если не ляжет будет держать сессию для твоего соединения открытую. И ИМХО волноваться про открытый канал не стоит. Даже при падении программы или сервера сессия скорее всего завершится при разрыве соединения.
I'm learning to live...
|
30.07.2014, 11:20 | #3 |
Форумчанин Подтвердите свой е-майл
Регистрация: 01.12.2006
Сообщений: 514
|
например с ораклом, если не обработать разрыв связи, то приложение придется перезапускать.
а так если подключений будет не много, то нет смысла разрывать, лучше просто проверять, подключен ли к бд (простой uniconnection.connected) перед запросом
Пишу на Delphi за еду
|
30.07.2014, 13:17 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
и тут дело не в подключении, а в механизме самого клиента. Просто получается ПО так написано непродуманно.
I'm learning to live...
|
|
30.07.2014, 17:05 | #5 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
ПО по сути на стадии проектирования и есть, готово только процентов на 30 (до адекватной бета-версии).
Так вот. Никакими датасетами я не пользуюсь. Использую только: Connection, Provider(s), SQL и Query (редко, примерно в 5% случаев, когда без чтения данных - новые данные не добавишь). Запросы генерю сам. В основном это INSERT или INSERT ON DUBLICATE KEY UPDATE. Такие дела... |
30.07.2014, 17:21 | #6 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
31.07.2014, 01:45 | #7 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,829
|
Это наверняка в веб-программировании вас научили плохому. Отучайтесь.
В разработке: воспроизводственный контур ИТ
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Документация на русском по UniDAC | Muramidaza | БД в Delphi | 0 | 21.03.2014 00:35 |
Работа Edit и Post в UniDAC | Muramidaza | БД в Delphi | 3 | 04.03.2014 20:43 |
UniDAC, сообщения об ошибках | serpan | БД в Delphi | 6 | 23.10.2013 23:26 |
SQL запрос (UniDac) | Prontit | БД в Delphi | 2 | 17.08.2011 09:03 |
После установки VS2010 и запуска моего проекта появилась проблема..., Конкретно с WMPLib. | Casper-SC | Общие вопросы .NET | 1 | 23.05.2010 15:12 |