Глюк 12-го оракла как бороться ? ORA-02019: описание соедине 
	   
	     | 
   
 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		Alkov Профи
 
  Вступление в Клуб: 23.09.2010
  | 
		
			
				 Ср Окт 21, 2015 05:30   Глюк 12-го оракла как бороться ? ORA-02019: описание соедине | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | Код: | 	 		  
 
type supercursor_type is
 
select c(max(c.INSTRUMENT_CODE))
 
        in sftw_instrument%rowtype
 
        where c.CFI = (select f(f.[CUR_SHORT]) in ::[FT_MONEY] all where f = ::[FT_MONEY]([CUR_SHORT]='RUB'))
 
        --where c.CFI = 'RUB'
 
;
 
supercursor supercursor_type;
 
 
begin
 
 select c(max(c.INSTRUMENT_CODE))
 
 in sftw_instrument%rowtype
 
 where c.[CFI] = (select f(f.[CUR_SHORT]) in ::[FT_MONEY] all where f=::[FT_MONEY]([CUR_SHORT]='RUB') )
 
 into maxinst;
 
  
 
 debug_pipe('Синонимы прошли!',0);
 
  k:=0;   
 
 for c in cursor supercursor
 
 loop
 
   debug_pipe('Курсор открыт',0);
 
 end loop;
 
end;
 
 | 	  
 
 
В чём прикол :
 
дебаг 'Синонимы прошли!' выводиться всегда ,
 
под пользователем НЕ IBS
 
на открытии курсора 
 
for c in cursor supercursor
 
валиться с ошибкой 
 
--ORA-02019: описание соединения для удаленной БД не найдено
 
 
, но если в описании курсора заменить
 
        where c.CFI = (select f(f.[CUR_SHORT]) in ::[FT_MONEY] all where f = ::[FT_MONEY]([CUR_SHORT]='RUB'))
 
на 
 
        --where c.CFI = 'RUB'
 
то курсор успешно открывается.
 
 
p.s. В обоих вариантах курсор открывается если запускать операцию в навигаторе под IBS.
 
p.p.s. Возникло после перехода на 12-ый оракл...
 
 
аналогично с неявным курсором
 
 
 	  | Код: | 	 		  
 
for (select c(max(c.INSTRUMENT_CODE))
 
       in sftw_instrument%rowtype
 
       where c.CFI = (select f(f.[CUR_SHORT]) in ::[FT_MONEY] all where f = ::[FT_MONEY]([CUR_SHORT]='RUB'))
 
       --where c.CFI = 'RUB'
 
    ) 
 
 loop
 
   debug_pipe('Курсор открыт',0);
 
 end loop;
 
 | 	  
 
 
 
На ТЯ 7.4.4.2 проблема не повторилась.
  Последний раз редактировалось: Alkov (Пт Окт 30, 2015 05:13), всего редактировалось 1 раз | 
			 
		  | 
	 
	
		  | 
	 
	
		prankster Профи
 
  Вступление в Клуб: 22.08.2014
  | 
		
			
				 Ср Окт 21, 2015 08:47   Re: Глюк 12-го оракла как бороться ? | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Смотрели во что транслируется? | 
			 
		  | 
	 
	
		  | 
	 
	
		Alkov Профи
 
  Вступление в Клуб: 23.09.2010
  | 
		
			
				 Ср Окт 21, 2015 09:30   Re: Глюк 12-го оракла как бороться ? | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | prankster пишет: | 	 		  | Смотрели во что транслируется? | 	  
 
 
Да нормально транслируется, 
 
Непонятно каким боком IBS влияет...
 
то ли то что доступ то ли то что владелец схемы где словарь лежит...
 
 
 	  | Код: | 	 		  
 
--#section EXECUTE
 
--# 6,2
 
            cache_mgr.write_cache;
 
         cache_mgr.write_cache;
 
            select  MAX(a1.INSTRUMENT_CODE)
 
            into MAXINST
 
            from SFTW_INSTRUMENT a1
 
            where a1.CFI = (
 
               select  b1.C_CUR_SHORT A$1
 
               from Z#FT_MONEY b1
 
               where b1.ID = 43353
 
            );
 
--# 11,2
 
      RTL.DEBUG_PIPE('Синонимы прошли!',0);
 
      K := 0;
 
      declare
 
         cursor c_obj is
 
            select  MAX(a1.INSTRUMENT_CODE) A$1
 
            from SFTW_INSTRUMENT a1
 
            where a1.CFI = (
 
               select  b1.C_CUR_SHORT A$1
 
               from Z#FT_MONEY b1
 
               where b1.ID = 43353
 
            );
 
         C   c_obj%rowtype;
 
      begin
 
            cache_mgr.write_cache;
 
         cache_mgr.write_cache;
 
         for plp$c_obj in c_obj loop
 
            C := plp$c_obj;
 
--# 19,2
 
            RTL.DEBUG_PIPE('Курсор открыт',0);
 
         end loop;
 
      end;
 
      return;
 
   end;
 
 | 	 
  | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |