Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / SPL фиг поймешь что упало :-( / 1 сообщений из 1, страница 1 из 1
12.04.2008, 15:05
    #35251397
Петров Андрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SPL фиг поймешь что упало :-(
Запускаю процедуру из одной программки (код к сожалению не доступен). Получаю вот такую ошибку в момент падения процедуры:
*EXCEPTION*clsPMStart*00006*:ERROR [HY000] [Informix][Informix ODBC Driver][Informix]An ON clause has an invalid table reference.

Смотрю трейсы процедуры:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select unique name as prodname, (<procedure> p3_get_param, "plastic code", "", name) as plasticsort, (<procedure> upper, (<procedure> p3_get_param, "plastic source", "P", name)) as plasticsource
  from tparams
  into temp tpasticsort with no log;

 execute function cap.p3_get_param[procid= 2468 ] ( fname = plastic code ,  fdefaultvalue =  ,  fproduct = AAA   )
 default value  fproduct = NULL.

set debug file to (<procedure> cap_getparam, "center", "error log file", "\temp\caperr.log");

execute function cap.cap_getparam[procid= 352 ] ( fsection = center ,  fitem = error log file ,  fdefaultvalue = \temp\caperr.log ,  fproduct = (Default) )
default value  fproduct = (Default)
expression:
  (select value
    from parameters
    where (and (and (= section, fsection), (= item, fitem)), (= product, fproduct)))
evaluates to c:\tmp\caperr.log ; 
let fvalue = c:\tmp\caperr.log 
expression:(null fvalue)
evaluates to f 
expression:fvalue
evaluates to c:\tmp\caperr.log 
procedure cap_getparam returns c:\tmp\caperr.log 

Соответственно упало то что выделено жирным. Потому что сработал некий эксепшн вот такого вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
ON EXCEPTION                             -- In case of error catch it here and log it.

        SET Sql_e, Isam_e, Txt_e
        
        BEGIN

                DEFINE Sql_trace Smallint;
                DEFINE Isam_trace smallint;
                DEFINE Txt_trace Char( 80 );

                ON EXCEPTION                               -- In case of an error during trace
                        SET  Sql_trace, Isam_trace, Txt_trace
                        TRACE  '        ' || sql_trace || '     ' || isam_trace || '    ' || txt_trace;
                END EXCEPTION WITH RESUME;
                TRACE  Current || '     ' || user || '  ' || sql_e || ' ' || isam_e || '        ' || txt_e;
        END
        
        RAISE EXCEPTION Sql_e, Isam_e, Txt_e;
END EXCEPTION;                

Что смотреть? Куда копать? Даже номера ошибки нет нифига в трейсе :-((( Сделал update statistics for procedure - не помогло :-(
Спасайте людииииии :-)
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / SPL фиг поймешь что упало :-( / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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