|
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 5
|
|
Interbase Использование одного соединения разными приложениями18.10.2015, 11:45. Показов 614. Ответов 9
Метки нет (Все метки)
Добрый день.
Проблема в следующем. Имеется несколько приложений, которые используют соединение с одной базой данных на сервере. На сервере стоит firebird в режиме classic, соответственно создается по одному процессу на каждое приложение. Сейчас ситуация такая, что 100 пользователей запускает по 10 приложений одновременно к примеру, т.е. уже 1000 процессов на сервере, это крайне не расточительная роскошь. В связи с этим вопрос, можно ли на клиенте инициировать одно подключение, чтобы, например, хэндл этого подключения передавался в другие программы для использования. Т.к. я недопрограммист, а сисадмин, хотелось бы найти правильный вариант решения данной задачи. Были мысли по объединению всех программ в одно приложение с разбивкой по юнитам и использовать текущее подключение, или загонять все приложения/формы в DLL и туда передавать хэндл подключения. Или может есть все-таки решение легкое и стандартное?)
0
|
|
| 18.10.2015, 11:45 | |
|
Ответы с готовыми решениями:
9
SendInput() (user32.dll) работает с разными приложениями по разному Использование одной базы 2-мя приложениями
|
| 18.10.2015, 11:58 | |
|
как сисадмину вам надо думать в сторону увеличения производительности сервера
а как программисту о создании промежуточного сервера к которому будут коннектится клиенты, а уже он обращаться к БД ЗЫ я не понял - программа открывает соединение и оно висит? до каких пор? почему не выполнить запрос и закрыть подключение? У нас на складе 80 ТСД коннектятся к серверу с Firebird и никаких проблем нет.
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 5
|
||||
| 18.10.2015, 12:19 [ТС] | ||||
Просто мне как сисадмину показалось нерационально использовать мощности сервера на глупости программиста, т.е. опять же меня.
1) не предугадал действия пользователей, думал они запустят приложение, сделают свое дело и закроют его тут же, а оказалось, что они их тупо сворачивают, более того, умудряются несколько экземпляров запустить - но эту проблему решил; 2) почему-то казалось, такие частые подключения/отключения неразумные решения и напряг для сервера, не знаю почему так казалось, по логике те же запуски транзакций и коммиты, ну эти то хоть я запускаю и завершаю/откатываю когда надо)) Добавлено через 3 минуты Блин, вспомнил еще третью причину. В приложениях открываются DBgrid, и если закрыть подключение, датасеты соответственно тоже закроются. Так что задача еще актуальна.
0
|
||||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 18.10.2015, 12:26 | |
|
А чего не установить super server FB?
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 5
|
|
| 18.10.2015, 12:39 [ТС] | |
|
По моему мнению это некрасивое решение в многопользовательской среде. Если какие-то проблемы с процессом начнутся, придется убивать процесс.. значит и всех пользователей. Уж лучше обойдусь смертью одного, чем всех.
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||
| 18.10.2015, 13:26 | ||
|
Потоки выполнения запросов все равно разные.
Да и спасаться от снежков под танковой броней как-то не очень оптимально. На официальной странице так и сказано:
А передавать хендлы от клиента к клиенту для работы в одном и том же процессе (ИМХО) желание, скорее, из области фантастики.
0
|
||
|
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 5
|
|
| 18.10.2015, 13:49 [ТС] | |
|
У меня Superserver почему-то ассоциируется с общагой, а classic с многоквартирным домом, где у каждого своя квартира со своё пространство (кэш). И в квартире соседи меньше вступают в конфликт между собой, чем в общаге. Я выбираю многоквартирный дом) Да и судя по описаниям superserver может быть проблемным для многопроцессорного сервера, что и есть в моем случае.
Но суть понял, что решения моего вопроса нет. Нужно значит упаковывать все в одну программу, либо смириться с большим кол-вом процессов.
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|||
| 18.10.2015, 14:20 | |||
0
|
|||
| 18.10.2015, 16:24 | |||||
|
просто "показалось"? 3) не используйте DBGrid ТС насколько вредят серверу эти 1000 процессов? Стоит ли дергаться если "опасности" нет?
0
|
|||||
|
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 5
|
||||
| 18.10.2015, 17:12 [ТС] | ||||
0
|
||||
| 18.10.2015, 17:12 | |
|
Помогаю со студенческими работами здесь
10
Три активити установились отдельными приложениями вместо одного Управление несколькими различными приложениями MS Office из одного макроса Совместное использование двумя приложениями глобальной переменной из одной DLL Исследование, использование реестра для передачи информации между приложениями Обмен данных между DOS-приложениями и Windows-приложениями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|