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

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

Заранее благодарен.
Александр.
...
Рейтинг: 0 / 0
DISCONNECT из программы
    #33752389
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
Запусти ее из клиента, потом клиент сам порвет свой коннект.
...
Рейтинг: 0 / 0
DISCONNECT из программы
    #33775128
Фотография sasha27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / DISCONNECT из программы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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