powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Illegal SPL Routine Entry
6 сообщений из 6, страница 1 из 1
Illegal SPL Routine Entry
    #34227782
standalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,господа! Есть IDS 9.21.UC4 на Unixware 7.1.3. При попытке сделать dbschema -d dbase, вылетает с ошибкой: Illegal SPL Routine Entry. Как вычислить процедуру или функцию, из-за которой это происходит?
...
Рейтинг: 0 / 0
Illegal SPL Routine Entry
    #34227993
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
select 'dbschema -d dbase -t '||tabname from systables where tabid> 99 
...
Рейтинг: 0 / 0
Illegal SPL Routine Entry
    #34228139
standalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cкрипт, насколько я понял, делает dbschemы всех таблиц БД, не трогая процедур и прочего???Или я не правильно понял?=) Дело в том что dbexport, который делается каждую ночь, тоже вылетает с той же ошибкой...
...
Рейтинг: 0 / 0
Illegal SPL Routine Entry
    #34228172
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
standaloneCкрипт, насколько я понял, делает dbschemы всех таблиц БД, не трогая процедур и прочего???Или я не правильно понял?=) Дело в том что dbexport, который делается каждую ночь, тоже вылетает с той же ошибкой...Это не решение, это пинок в нужном направлении.
Код: plaintext
select select 'dbschema -d dbase -p '||procname from sysprocedures WHERE mode not in ('P','o','r','d','p')
...
Рейтинг: 0 / 0
Illegal SPL Routine Entry
    #34228190
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
standaloneДобрый день,господа! Есть IDS 9.21.UC4 на Unixware 7.1.3. При попытке сделать dbschema -d dbase, вылетает с ошибкой: Illegal SPL Routine Entry. Как вычислить процедуру или функцию, из-за которой это происходит?
Помню, что ранее такая ошибка периодически мучила наших программеров, особенно тех, кто использовал делфийский SQL explorer, т.к. при модификации процедуры вначале автоматом всегда
вставляется первая строка drop procedure и если ее вовремя не закоментировать и она попадет в текст созданной процедуры, то именно тогда и появляется невозможность выгрузки такой процедуры. В принципе, у меня даже был стандартный запрос на эту тему procbody_dropproc.sql
-------------------------------------------------------------
-- Find procedure with wrong text proc body (drop procedure)
-- resolve dbexport error - 'Illegal Stored Procedure Entry'
--
-- V.Shulzhenko DBA_Tools
-------------------------------------------------------------
select p.procname
,p.owner
,p.procid
,b.seqno
,b.data
from sysprocedures p,sysprocbody b
WHERE b.datakey = 'T'
and p.procid =b.procid
and b.data matches '*drop procedure*'
and b.data not matches '*--drop procedure*'
order by 1,2,3,4

А в своих архивах я нашел ответ Daugava 5-летней давности на эту тему:
=======================
"Andrey Kotlyarenko" <isiit@isiit.mns.gov.ua>; wrote:

>dbschema -d databasename -f all даёт ошибку Illegal SPL Routine Entry.
>А базу нужно срочно перенести на другую машину. Что можно сделать ?
Стало проще.
Проблема возникает со всеми процедурами или с какой-нибудь одной?
Рекомендую порыться на google (http://groups.google.com/groups?q=dbschema+informix+Illegal&hl=en).
Из своего опыта могу сказать, что проблема может быть в каком-нибудь "левом" символе от которого у dbschem-ы едет крыша, символы могут меняться от версии к версии и поиск виновного весьма неприятен.
Art S. Kagel в таких случаях рекомендует пользоваться его утилитой myschema.ec из пакета utils2_ak (брать на www.iiug.org). Данный способ работает в случае, если тест процедуры доступен (например его видно через dbaccess).

В CDI (comp.databases.informix) я также нашел еще одно сообщение:
This is probably because after installing the SPs the programmer (or the software vendor) removed the source
(delete from sysprocbody where datakey = "T" and procid > 1) from the database.
This would lead to the "illegal stored procedure" error from dbaccess
Если это так, то базу перенести через текст тебе не удастся :-(.

Regards, Igor.
...
Рейтинг: 0 / 0
Illegal SPL Routine Entry
    #34228230
standalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, пинок был куда надо!=)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Illegal SPL Routine Entry
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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