| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		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 ), я не пишу универсальную операцию на все случаи жизни. Когда у нашего банка появятся деньги на это (а это вряд ли) будем думать | 
			 
		  | 
	
	
		  | 
	
	
		 |