Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
Вопрос: Имеется программа для работы с Sybase ASE-12.5. Соединение осуществляется по OpenClient Надо получить с помощью стандартных функций (может ct_options ?) информацию, имееются ли созданные темповые таблицы в данном соединении или нет? Для того, чтобы на клиенте рубить висячие соединения и подымать их по требованию пользователя... Очень нужно.... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 11:34 |
|
||
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
poweruserxВопрос: Имеется программа для работы с Sybase ASE-12.5. Соединение осуществляется по OpenClient Надо получить с помощью стандартных функций (может ct_options ?) информацию, имееются ли созданные темповые таблицы в данном соединении или нет? Для того, чтобы на клиенте рубить висячие соединения и подымать их по требованию пользователя... Очень нужно.... :) select object_id('#tmp') если не NULL, то объект есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 11:51 |
|
||
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
sybdba select object_id('#tmp') если не NULL, то объект есть Ну и что? Проверите вы только наличие одной временной таблицы с именем #tmp и все. А если он много создал? Тогда их надо все перечислять. Нет надо так select 1 from tempdb..sysobjects where convert(int, substring(name, 16,5))=@@spid and type = 'U' если возращает 1, то имеется для данной сессии временные таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 18:41 |
|
||
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
А если так, то и количество временных таблиц для данной сесии узнаете select count(*) from tempdb..sysobjects where convert(int, substring(name, 16,5))=@@spid and type = 'U' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 18:57 |
|
||
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
А зачем ? Временные таблицы сами удаляются, при разрыве соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2005, 02:57 |
|
||
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
moris sybdba select object_id('#tmp') если не NULL, то объект есть Ну и что? Проверите вы только наличие одной временной таблицы с именем #tmp и все. А если он много создал? Тогда их надо все перечислять. Нет надо так select 1 from tempdb..sysobjects where convert(int, substring(name, 16,5))=@@spid and type = 'U' если возращает 1, то имеется для данной сессии временные таблицы дык если нужны проверки со стороны клиента, то мы априори знаем какие таблицы пользуем, а какие нет, какие важны, а на какие можно закрыть глаза ... и потом, взять айдишник объекта проще/дешевле, чем шарить по tempdb зажимаясь на неиндексированное поле или его фрагмент :) более того, блокировка tempdb..sysobjects при интенсивной работе с временными таблицами других пользователей (drop/create) дорогого стоит ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 16:55 |
|
||
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
sybdba дык если нужны проверки со стороны клиента, то мы априори знаем какие таблицы пользуем, а какие нет, какие важны, а на какие можно закрыть глаза ... Не факт. Если используется трехуровневая схема подключения через дополнительный сервер приложения, то клиеты подсоединяются к сереверу приложений, а он в свою очередь держит пул постоянных конектов в ASE. И назначает подключившемуся клиенту один из свободных постоянных конектов к ASE. Т.о. один клиент может создать в постоянном конекте временную таблицу, но явно ее не удалить, и отсоединится. Другой клиент, которому сервер приложения назначил данный конект, понятия не имеет какие временные таблицы были созданы и не удалены. Вообщем-то это наверное единственный вариант, при котором надо отслеживать наличие временных таблиц в соединии. К сожалению, автор молчит, поэтому можем тока догодываться :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 11:09 |
|
||
|
Получение информации о состоянии соединения в Sybase ASE-12.5
|
|||
|---|---|---|---|
|
#18+
moris sybdba дык если нужны проверки со стороны клиента, то мы априори знаем какие таблицы пользуем, а какие нет, какие важны, а на какие можно закрыть глаза ... Не факт. Если используется трехуровневая схема подключения через дополнительный сервер приложения, то клиеты подсоединяются к сереверу приложений, а он в свою очередь держит пул постоянных конектов в ASE. И назначает подключившемуся клиенту один из свободных постоянных конектов к ASE. Т.о. один клиент может создать в постоянном конекте временную таблицу, но явно ее не удалить, и отсоединится. Другой клиент, которому сервер приложения назначил данный конект, понятия не имеет какие временные таблицы были созданы и не удалены. логично :) про трехзвенку я не подумал ;) moris Вообщем-то это наверное единственный вариант, при котором надо отслеживать наличие временных таблиц в соединии. К сожалению, автор молчит, поэтому можем тока догодываться :-) можно конечно расходиться в одноименных таблицах по спидам, но при сервере приложений это теряет смысл ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 11:45 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=92&tid=2013197]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 347ms |

| 0 / 0 |
