|
|
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
Словом стоит FB 1.5 SuperServer (что-нинаетсь самый обычный). Нужно отключить определенного пользователя от базы. Если кто знает подскажите как это сделать. И еще - как выглядит запрос, который выполняется IBExpert-ом при ShutDown? Заранее всем спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 17:27:43 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
Почитай обсуждение. Только всё почитай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 17:41:50 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
МимопроходящийПочитай обсуждение. Прочитал все - по gfix нашел кое-какую информацию, но вот как работать с помощью этой же (если не ошибаюсь) утилиты с функией isc_database_info( ) не могу разобраться. С FB я начал работать не так давно, не подскажете где можно документацию почитать по утилитам командной строки, которые входят в комплект поставки? Спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 18:09:50 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
если я не ошибаюсь, то isc_database_info( ) - это функция Interbase API а с помощью gfix ты можешь отключить всех пользователей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 18:21:51 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
visесли я не ошибаюсь Скажу честно - я не знаю, но вот очень хочется разобраться. На сколько я понял gfix - отрубит всех пользователей, только ОДНОГО никак не получится. Конечно предлагают (уже много где искал) либо использовать post event (не подходит при пакетном добавлении записей), либо средства самой ОС (что очень привязывает базу и проги к конкретной ОС). Так как быть, разве нет ничего подобного как в Oracle "kill"??? Про isc_database_info( ) и isc_info_user_names - словом: где и как??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 18:31:52 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
Ключевое слово - SuperServer . У него один единственный pid . Если ты его kill-яешь, то умирает весь сервер целиком, вместе со всеми коннектами и служебными потоками. Если бы у тебя был ClassicServer, то в этом случае, каждый коннект порождал бы свой собственный процесс. Тогда можно было бы стрелять выборочно. Но небесзопасно ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 18:37:17 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
МимопроходящийЕсли бы у тебя был ClassicServer Хорошо, тогда как это можно сделать в CS??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 18:41:17 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
Средствами ОС. Какая ОСь у тебя на сервере стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 19:07:56 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
Прежде всего оговорюсь, что все мои утверждение это лишь субъективное понимание вопроса, которое не претендует на истину. Так вот: 1. Pid - идентификатор текущей активной транзакции, который является уникальным для каждого клиента выполняющего какие-либо действия с БД. Значит чтобы "убить" изера нужно получить pid активных транзакций и выполнить для нужной "rollback". Pid не может быть один, это реализовано для поддержки OLCP-моделей транзакци (не скажу от куда я это вычитал, потому как забыл), т. е. поддержания актуальности данных для "продолжительных" и "коротких" транзакций. Не прав??? 2. Про isc_database_info( ) и isc_info_user_names - скажите пожалуйста что это за звери и как с ними бороться??? 3. Ой как не хочется средства самой ОС использовать, но на войне все средства хороши. Стоит на сервере Windows 2000 Server. 4. А где можно почитать еще об отличиях SuperServer и ClassicServer??? На всякий случай объясню зачем мне такой геморой нужен: У меня БД, с которой работают 2 типа пользователей - операторы и аналитики. Каждый оператор имеет свой login, а у аналитиков он один для всех. Каждый оператор работает только со своей частью БД, а вот аналитики почти со всей сразу. Периодически приходится добавлять или изменять объекты БД, вследствии чего постоянно наступаю на грабли вроде "index in use" . Приходится посылать предварительно сообщения всем операторам и ставить ShutDown, а нужно то бывает связать лишь справочник с таблицей. А необходимо-то отрубить всего одного оператора и всех аналитиков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 21:53:18 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
Это не ответ на вопрос, поэтому не бейте ногами, но: автор Периодически приходится добавлять или изменять объекты БД, вследствии чего постоянно наступаю на грабли вроде "index in use". Это делается на рабочей базе? Мне думается такие вещи правильнее делать на копии рабочей базы, а потом, когда все эксперименты прекращены и изменения "приняты к внедрению" можно сделать скриптик, который по расписанию может выполниться в то время когда в базе никого нет. Тем самым нет опасности убить/вывести из рабочего состояния на какое-то время базу, не надо дергать пользователей и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2004, 15:19:51 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
doroshkaЭто делается на рабочей базе? Мне думается такие вещи правильнее делать на копии рабочей базы Эх, если бы было все так просто, то я так бы и делал... Похоже, раз никто не знает, придется реализовывать Post Event. Вообще-то где-то на www.interbase-world.com я уже находил, что такая "задокументированная" возможность будет реализована только в FB 2.0, но думал мож кто знает че-нить нестандартное. Но всеравно всем спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 08:36:56 |
|
||
|
Как отключить пользователя от базы в FB 1.5
|
|||
|---|---|---|---|
|
#18+
Можна я отвечу а то МП удар хватит PID это не идентификатор транзакции а идентификатор процесса, т.е. у каждого процесса в лююой системе есть индентификатор если у тебя стоитт ВЫНЬ2000 то это значит что (как и во всей этой линейке ОСЬ ВЫНЬ) ты вызываешь диспетчер задач нажимаешь на закладку процессц и гришь снеть задачу, а в юникс системах ты гришь kill (желательно 9 :-) про IOT OAT и все остальное про транзакции надешь здесь и вообще прочиай еще раз обсуждение МП прохого не посоветует и почитай где я сказал там всю и его много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 09:16:07 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1578277]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 505ms |

| 0 / 0 |
