powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Аналог HOST_NAME()
16 сообщений из 16, страница 1 из 1
Аналог HOST_NAME()
    #33898491
ездец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А есть аналог MS-ской функции, или что-то похожее, чтобы в запросе SELECT <чего-то>; было видно какой хост подключен. В BOL как-то не нашел...
Спасибо
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33898514
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Адрес с которого пришел клиент? Если для ASA, то: call sa_conn_info()


---
http://www.rusug.ru] Портал рускоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33899292
ездец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но только он для локальных подключений имя хоста не показывает
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33899441
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ездецДа, но только он для локальных подключений имя хоста не показывает
SELECT *
FROM sa_conn_properties()
WHERE PropName ='AppInfo', правда предварительная и последующая обработка нужна, но можно все и в обном запросе сделать
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33900877
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ездецДа, но только он для локальных подключений имя хоста не показываетНу и? Сразу знаешь что это локальный а не сетевой коннект.
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33901888
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl ездецДа, но только он для локальных подключений имя хоста не показываетНу и? Сразу знаешь что это локальный а не сетевой коннект.
Тебе конкретно что надо то, посмотреть с каких хостов у тебя подключены пользователи или же с какого носта ты сам работаешь(открыта текущая сессия).
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904327
ездец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужна полная картина подключений, в т.ч. и локального хоста. Если юзвери идут в БД под одной учеткой, то понять кто создал или изменил запись тяжело. в M$ есть это ф-ция и сразу видно - кто последний лазил в запись (обновление в триггере делается). Или имеем одну таблицу с полем, куда дополнительно записывается имя хоста, и вьюху с отбором по HOST_NAME()'у. Рез-т = каждый видит только своё.
Вот чешу репу - как бы это переоперделить. Уж больно хорош ASA под наши задачи. Да и стоит меньше с большими возможностями. И .NET за уши не притянут.
Да, а есть ли что-то вроде шаблона БД, чтобы один раз туда записать ф-цию, а потом она появлялась во всех новых БД?
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904349
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ездецМне нужна полная картина подключений, в т.ч. и локального хоста. Если юзвери идут в БД под одной учеткой, то понять кто создал или изменил запись тяжело.Эээээ.... а как ты вообще собираешься различать юзеров которые приходят под одним общим логином? По IP? Ну в ASA ты можешь создать event с типом "Connect" и в нем вести лог с каких адресов приходил анонимный юзер.
Можно в таблице сделать поле типа такого:
LastChangedByUser char(32) default last user || connection_property('NodeAddress'),
В конце концов просто можно оттранслировать лог :)

ездецИли имеем одну таблицу с полем, куда дополнительно записывается имя хоста, и вьюху с отбором по HOST_NAME()'у. Рез-т = каждый видит только своё.А это зачем? Юзер перешел на другой комп и теперь не видит своих записей, но видит записи создававшиеся кем-то другим?
Или тебе для временных нужд? Тогда вообще не стоит изобретатать велосипед, но стоит прочитать в документации главу про временые таблицы.

ездецДа, а есть ли что-то вроде шаблона БД, чтобы один раз туда записать ф-цию, а потом она появлялась во всех новых БД?Конечно есть. SQL-скрипт называется. Создал базу, запустил скрипт - испытываешь счастье :)
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904371
ездец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlА это зачем? Юзер перешел на другой комп и теперь не видит своих записей, но видит записи создававшиеся кем-то другим?
Или тебе для временных нужд? Тогда вообще не стоит изобретатать велосипед, но стоит прочитать в документации главу про временые таблицы.
Да - это временные тбл. Подготовленные данные, запрашиваемые в этом сеансе. Ага, ODBC и временные таблицы... Нормального решения пока не видел. Особенно- если часть клиентов на M$ Access.
White OwlКонечно есть. SQL-скрипт называется. Создал базу, запустил скрипт - испытываешь счастье :)
Да - разработчиков - чел. 15. Не у каждого есть скрипт. Тем паче один и тот же. А так в model закатал нужные всем типыб домены и функции - у всех счастье. Т.е. - всем счасть.
White OwlМожно в таблице сделать поле типа такого:
LastChangedByUser char(32) default last user || connection_property('NodeAddress'),
Через Cytrix у всех (гады!!!) один IP получается. Но в оледб есть возможность из клиента задать Workstation ID - и по нему различать. НО! Вкусность - в ASA если задать для одного пользователя одинаковый Connection Name - НЕ РУГАЕТСЯ! Похоже выход где-то рядом!
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904381
ездец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlВ конце концов просто можно оттранслировать лог :)
Да. Когда OLTP приложение с активно изменяющимися данными и звонок: - Посмотри кто неверно изменил данные по такой-то записи. Ну и плюс в конце дня - получение итогов.
Вообще заметил - M$ SQL только наверстывает по фичам многие СУБД. Догонит ли с такими темпами?
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904388
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ездец White OwlА это зачем? Юзер перешел на другой комп и теперь не видит своих записей, но видит записи создававшиеся кем-то другим?
Или тебе для временных нужд? Тогда вообще не стоит изобретатать велосипед, но стоит прочитать в документации главу про временые таблицы.
Да - это временные тбл. Подготовленные данные, запрашиваемые в этом сеансе. Ага, ODBC и временные таблицы... Нормального решения пока не видел. Особенно- если часть клиентов на M$ Access.
На ASA делаешь скрипт типа такого:
Код: plaintext
1.
2.
3.
4.
5.
begin
    create table #t(id integer, sometext char( 20 ), somedate date);
    insert into #t ....;
    update #t set .....;
    update sometable a set a.somedate = #t.somedate from #t where a.id=#t.id;
end;
Можешь посылать его одной строкой из клиента, можешь записать в хранимую процедуру и запускать. Каждый коннект будет создавать свою собственную копию таблицы #t и по выходу за пределы видимости таблица #t автоматически будет убита.
Можно сделать глобальную временую таблицу (create global temporary table) тогда таблица будет существать одна общая для всех коннектов, но данные записаные в нее будут видны только тому коннекту который записал эти данные.

Все извраты которые ты делал в других базах с HOST_NAME() в ASA не нужны по определению.

ездецДа - разработчиков - чел. 15. Не у каждого есть скрипт. Тем паче один и тот же. А так в model закатал нужные всем типыб домены и функции - у всех счастье. Т.е. - всем счасть.И что, все 15 человек ежедневно и по несколько раз на дню создают новые базы? Если очень нужно, все равно можно расшарить по сети каталог и в него положить библиотеку стандартных скриптов. Создал новую базу - прогнал на нее все (или не все) скрипты из библиотеки и все.


ездецЧерез Cytrix у всех (гады!!!) один IP получается. Но в оледб есть возможность из клиента задать Workstation ID - и по нему различать. НО! Вкусность - в ASA если задать для одного пользователя одинаковый Connection Name - НЕ РУГАЕТСЯ! Похоже выход где-то рядом!Ничего не понял.
Если ты хочешь временые таблицы, открывай BOL и читай главу
Код: plaintext
1.
2.
ASA SQL User's Guide 
Working with Database Objects 
Working with temporary tables
Все что нужно там уже сделано, описано и опробовано.
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904391
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ездецДа. Когда OLTP приложение с активно изменяющимися данными и звонок: - Посмотри кто неверно изменил данные по такой-то записи.
Это делается элементарно.
Код: plaintext
1.
2.
3.
4.
5.
6.
create table aaa (
   .....
   RecordCreated timestamp null default current timestamp,
   RecordCreatedByUser char( 32 ) null default current user,
   RecordChanged timestamp null default timestamp,
   RecordChangedByUser char( 32 ) null default last user
);
И ASA сама будет обновлять каждую запись - когда и кто ее создал и когда и кто ее последним обновил.
А если хочешь посмотреть полную историю работы с записью - тогда транслируй лог или веди собственный журнал аудита на критичные таблицы.
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904585
old_joy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если connection_property('NodeAddress') вернул не то, что нужно, то запрашивай HTTP_HEADER( 'X-Forwarded-For' )
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33904621
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ездецМне нужна полная картина подключений, в т.ч. и локального хоста. Если юзвери идут в БД под одной учеткой, то понять кто создал или изменил запись тяжело. в M$ есть это ф-ция и сразу видно - кто последний лазил в запись (обновление в триггере делается). Или имеем одну таблицу с полем, куда дополнительно записывается имя хоста, и вьюху с отбором по HOST_NAME()'у. Рез-т = каждый видит только своё.
Вот чешу репу - как бы это переоперделить. Уж больно хорош ASA под наши задачи. Да и стоит меньше с большими возможностями. И .NET за уши не притянут.
Да, а есть ли что-то вроде шаблона БД, чтобы один раз туда записать ф-цию, а потом она появлялась во всех новых БД?
Есть event connect(), кроме того при каждом подключение у сессии появляется свой уникальный id сессии, тебе надо при подключении в свою таблицу записать этот id, имя пользователя и хост с которого эта сессия начата и в таблицах им оперировать, тогда будет видно кто с чего что делал.
Ну а про терминальный доступ, тут ничего не поделаешь, хотя можно попробовать сделать интегрированнную аутенфикацию, но как вытащить данные не знаю...
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33905057
ездец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl спасибо за толковые советы.
Еще вопрос по способностям ASA. Как он ведет себя с несколькими базами на борту? Порядка 20 активных баз: из них 1-2 большие (30 Гб и растущие) с макс. 400 клиентов активными каждые 30 сек., остальные - до 1-2 Гб?
Хватит ли одного инстанса или надо поднимать несколько?
...
Рейтинг: 0 / 0
Аналог HOST_NAME()
    #33905088
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ездец wrote:

> Хватит ли одного инстанса или надо поднимать несколько?

Вопрос странный, учитывая то, что больше одного сервера на компе
запускать вообще-то не рекомендуется ;).
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Аналог HOST_NAME()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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