Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Сколько копий программ подключено к базе данных  [new]
nerv
Member

Откуда:
Сообщений: 734
Интересует такой вопрос. Сколько в данный момент копий пользовательской программы (рабочих мест) подключено к базе данных.
Как определить число подключений. По назвапнию exe-файла, наверное, не пойдет, пользователь может переименовать exe-файл программы. При этом надо учитывать только количество подключений конкртеной программы, а не учитывать скажем MS SQL Profiler или MS SQL Manager и другие проги...
18 дек 13, 13:33    [15310896]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
Crimean
Member

Откуда:
Сообщений: 13147
в общем случае - никак. никто не мешает в строке соединения написать AppName = 'MS SQL Profiler' и что дальше?
как от "собственно профайлера" отличать?
18 дек 13, 13:39    [15310956]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
nerv
Member

Откуда:
Сообщений: 734
Crimean,

в общем, никак. А в частном?
Допускаю в БД создать какую то таблицу, в которой будут писаться sid подключенных прогой.
По закрытию проги sid-ы удалять. При запуске прога будет просматривать таблицу с sid-ами подключенных. Только вот если коннект потерялся или прога зависла, то sid останется висеть в этой таблице.
Как то можно из программы проверить запросом на sql-сервер, есть ли коннект к базе указанного sid-а?
18 дек 13, 13:48    [15311040]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
nerv
Member

Откуда:
Сообщений: 734
Crimean,

да, а каким это образом пользователь сможет менять строку соединения? Она вшита в Exe-шник, изменить ее он не сможет.
18 дек 13, 13:51    [15311059]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
Crimean
Member

Откуда:
Сообщений: 13147
nerv,

ну вот вы сами себе и ответили. если параметру AppName верить можно - считайте по нему. если нельзя - то ищи другие способы
18 дек 13, 14:08    [15311258]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
nerv
Member

Откуда:
Сообщений: 734
Crimean,
верить можно. я только предположения реализации сделал. Но как отслеживать мертвые души - не пойму. Вообще смысл - реализовать возможность одновременной работы программы с разных рабочих мест в количестве имеющихся лицензий.
18 дек 13, 14:14    [15311326]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
Crimean
Member

Откуда:
Сообщений: 13147
хехе

1.приложение, имеющее "живой" коннект к базе - как можно считать "мертвым"?
2.приложение, не держащее постоянный коннект к базе - как посчитать? (когда коннект / запрос / дисконнект)

ответ - самому писать "пинги" приложения + задать параметр "время жизни" пинга и считать "живые" пинги. достаточно стандартно и не очень большая погрешность. даже если кто-то где-то "отвалился" с залипанием коннекта, то через "время жизни" при отсутствии пингов его считать перестанем
18 дек 13, 14:33    [15311554]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
Не понимаю, зачем это делать средствами СУБД. Можно написать свой сервис для подсчёта рабочих мест. Можно купить готовый.
18 дек 13, 14:45    [15311707]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
nerv
Member

Откуда:
Сообщений: 734
Dmitry V. Liseev
Не понимаю, зачем это делать средствами СУБД. Можно написать свой сервис для подсчёта рабочих мест. Можно купить готовый.

а в каком месте копать? Что вы понимаете под словом "сервис" в данном случае?
18 дек 13, 14:48    [15311752]     Ответить | Цитировать Сообщить модератору
 Re: Сколько копий программ подключено к базе данных  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
nerv
Dmitry V. Liseev
Не понимаю, зачем это делать средствами СУБД. Можно написать свой сервис для подсчёта рабочих мест. Можно купить готовый.

а в каком месте копать? Что вы понимаете под словом "сервис" в данном случае?
Понимаю более подходящий для этой задачи способ решения. Например сервис винды, который висит на определённом TCP порту и считает подключения.

Рекомендую купить готовый. Ищите по слову HASP.
18 дек 13, 15:42    [15312231]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить