Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Чт Ноя 29, 2012 06:12  К какой базе законнектился |
|
Полезность: Нет оценки
|
В ИБСО можно получить по пользователю к какой базе он законнектился стандартными функциями словаря? ip-сервера или имя из TNS? Спасибо |
|
 |
beffz Участник
Вступление в Клуб: 15.10.2012
|
Чт Ноя 29, 2012 08:44   |
|
Полезность: 1
|
Можно так:
Код: | select a(a.instance_name) in v$instance%rowtype
into instance_name; |
|
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Чт Ноя 29, 2012 09:38   |
|
Полезность: Нет оценки
|
Достаточно поднять глаза на заголовок окна. Там показано какой пользователь в какую базу вошел в формате "[Пользователь@имя базы]", а так же в правом нижнем углу в навигаторе. Это если не программно _________________ всегда есть как минимум 2 выхода |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Чт Ноя 29, 2012 10:17   |
|
Полезность: Нет оценки
|
beffz пишет: | Можно так:
Код: | select a(a.instance_name) in v$instance%rowtype
into instance_name; |
|
это немного не то - это инстанс, он может ваще одинаковый у теста быть и у рабочей. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Чт Ноя 29, 2012 10:58   |
|
Полезность: Нет оценки
|
Можно в Системные флаги добавить параметр MAIN_SYSTEM и устанавливать руками. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Ноя 29, 2012 11:18   |
|
Полезность: Нет оценки
|
Код: |
function is_it_work_db return boolean
is
res boolean;
name_db varchar2;
uname_db varchar2;
begin
-- begin pl/sql
select UPPER(name), UPPER(db_unique_name) into name_db,uname_db from v$database;
-- end pl/sql
return nvl(name_db=uname_db and name_db = 'WORK', false);
end;
|
|
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Чт Ноя 29, 2012 21:07   |
|
Полезность: Нет оценки
|
Alexsey пишет: | Достаточно поднять глаза на заголовок окна. Там показано какой пользователь в какую базу вошел в формате "[Пользователь@имя базы]", а так же в правом нижнем углу в навигаторе. Это если не программно |
ну там и в статус баре пишет строку коннект - было б прикольно узнать хранится она в переменной какой или тупо в статус бар кинули и все.
З.Ы. Очень нужно для подрихтовки саморегулир. системы доступа операционистов |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Пт Ноя 30, 2012 08:53   |
|
Полезность: Нет оценки
|
Gobur пишет: |
ну там и в статус баре пишет строку коннект - было б прикольно узнать хранится она в переменной какой или тупо в статус бар кинули и все.
З.Ы. Очень нужно для подрихтовки саморегулир. системы доступа операционистов |
Постом выше уже vtar указал нужный источник
Код: |
select a(a.db_unique_name) in v$database%rowtype
into instance_name;
|
|
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пт Ноя 30, 2012 09:23   |
|
Полезность: Нет оценки
|
devor пишет: | Gobur пишет: |
ну там и в статус баре пишет строку коннект - было б прикольно узнать хранится она в переменной какой или тупо в статус бар кинули и все.
З.Ы. Очень нужно для подрихтовки саморегулир. системы доступа операционистов |
Постом выше уже vtar указал нужный источник
Код: |
select a(a.db_unique_name) in v$database%rowtype
into instance_name;
|
|
Это инстнас - он у нас везде одинаковый на всех базах.. А мне надо строку из ТНС_НАМЕС, которая потом в статус баре при коннекте фигурирует. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пт Ноя 30, 2012 10:06   |
|
Полезность: Нет оценки
|
Gobur,
можете протестить предложенный код функции на тестовой конфигурации ? вместо WORK естественно , нужно указать имя рабочей БД |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Пт Ноя 30, 2012 11:07   |
|
Полезность: Нет оценки
|
Gobur пишет: |
Это инстнас - он у нас везде одинаковый на всех базах.. А мне надо строку из ТНС_НАМЕС, которая потом в статус баре при коннекте фигурирует. |
Это не инстанс, а SID.
Переменную просто назвал как попало.
tns_names - это вообще локальный клиентский алиас, его можно только с клиента в клиент-скрипте считать. |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пт Ноя 30, 2012 17:29   |
|
Полезность: Нет оценки
|
devor пишет: | Gobur пишет: |
Это инстнас - он у нас везде одинаковый на всех базах.. А мне надо строку из ТНС_НАМЕС, которая потом в статус баре при коннекте фигурирует. |
Это не инстанс, а SID.
Переменную просто назвал как попало.
tns_names - это вообще локальный клиентский алиас, его можно только с клиента в клиент-скрипте считать. |
Да, мне нужен именно локальный клиентский алиас. Конечно можно, просто если он в статус баре отображается - думал и в ИБСО это где то при коннекте сохраняется. Хотел попроще) |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пт Ноя 30, 2012 17:30   |
|
Полезность: Нет оценки
|
vtar пишет: | Gobur,
можете протестить предложенный код функции на тестовой конфигурации ? вместо WORK естественно , нужно указать имя рабочей БД |
Да не, это будет работать - но мне вот немного другое надо..Я не хочу проверять на какой я базе (рабочей или тестовой), а что у юзера в оракловом клиенте - думал в ИБСО это просто можно взять, тем более в статус баре выводится) |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Вс Дек 02, 2012 11:15   |
|
Полезность: Нет оценки
|
А если у тебя технология 3L как ты будешь это вычитывать? С Сервера приложений? _________________ всегда есть как минимум 2 выхода |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Вс Дек 02, 2012 18:18   |
|
Полезность: Нет оценки
|
Alexsey пишет: | А если у тебя технология 3L как ты будешь это вычитывать? С Сервера приложений? |
у меня нет технологии 3L ), я не пишу универсальную операцию на все случаи жизни. Когда у нашего банка появятся деньги на это (а это вряд ли) будем думать |
|
 |
|