Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / DISCONNECT из программы / 3 сообщений из 3, страница 1 из 1
25.05.2006, 15:17
    #33751766
sasha27
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISCONNECT из программы
Всем привет.
Подскажите, как мне сделать DISCONNECT при нажатии на кнопку из программы? Я имею ввиду вырубание всех коннектов в базе, даже своего.

Сервер ASA 8.0.2 клиент написан на Delphi 6, использую для коннекта
и работы с базой SaVCL. Disconnect All не подходит. Выдает ошибку.
Пробовал делать процедуру в базе, так та тоже ругается... А там 4 строки текста... DROP Connection "id коннекта", говорит, что я не имею прав...
Засада, короче кругом...

Заранее благодарен.
Александр.
...
Рейтинг: 0 / 0
25.05.2006, 17:59
    #33752389
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISCONNECT из программы
А зачем все коннекты рубить? Может тогда проще сразу сервер выключить? :)
Ты не можешь этой командой дропнуть свой собственный коннект. Почему-то в доке это не упомянуто. Но если очень надо, то сделай процедуру:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create procedure "DBA"."DisconnectEveryone"()
begin
    for loop1 as crsr1 cursor for
            select "Number" as cConnectionId from sa_conn_info() where cConnectionId <> connection_property( 'number' )
            for read only do
        execute immediate 'drop connection ' || cConnectionId;
    end for;
end
Запусти ее из клиента, потом клиент сам порвет свой коннект.
...
Рейтинг: 0 / 0
06.06.2006, 15:28
    #33775128
sasha27
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISCONNECT из программы
White OwlА зачем все коннекты рубить? Может тогда проще сразу сервер выключить? :)
Ты не можешь этой командой дропнуть свой собственный коннект. Почему-то в доке это не упомянуто. Но если очень надо, то сделай процедуру:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create procedure "DBA"."DisconnectEveryone"()
begin
    for loop1 as crsr1 cursor for
            select "Number" as cConnectionId from sa_conn_info() where cConnectionId <> connection_property( 'number' )
            for read only do
        execute immediate 'drop connection ' || cConnectionId;
    end for;
end
Запусти ее из клиента, потом клиент сам порвет свой коннект.

Спасибо за помощь.
У меня случаются ситуации, когда у юзверя зависает прога, которая работает с ASA. Зверь просто уходит из-за компа и оставляет зависшую прогу. А там табла остается заблокиорвана. Другие потом не могут работать с базой... Приходится бегать и смотреть на каком компе зависшая прога. А вот если порубить все коннекты, даже свой, то гарантированно, что все заработает при входе. Еще раз спасибо.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / DISCONNECT из программы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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