8.1 вылетает по рантайму (оракл)

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: 8.1 вылетает по рантайму (оракл)

Сообщение edward_K »

А вот вопрос.То, что вы привели с ora90drv , похоже на кусок который выполняется при каждом переходе между модулями для чистки "зависших" зверей.
То , что это попало в ошибку - это уже следствие наверное.
По порядку
1. В галактику зашли?
2. Запустили отчет. В логах в cminit в первой строке что то появляется? Если нет, то у вас скорей всего косяк в логической табле, если да - это уже проще. Внимательно следите за временем, в лог вывод добавьте.
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Re: 8.1 вылетает по рантайму (оракл)

Сообщение maikl »

Ошибка некорректного дескриптора часто происходит из за конфигурационных файлов (если сами конфигурировали интерфейсы).
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: 8.1 вылетает по рантайму (оракл)

Сообщение edward_K »

Кстати. Ошибка при загрузке фейса со временными таблицами может быть еще вызвана наличием глобальной времянки с другой структурой(в том числе и в других ресурсах) , чем та, что используется в фейсе при компиляции. Попробуйте переименовать времянку.
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: 8.1 вылетает по рантайму (оракл)

Сообщение savov »

Ошибка где то в логической.
Исправил сейчас так

Код: Выделить всё

.create View TKatalog as select * from tblSapIM, tMain;
....

            stmt:=0;

            stmt := sqlAllocStmt;
            sqlAddStr(StmtString,'         SELECT t2.tNsap, t2.tViddv, t2.tzavod, t2.tsklad, t2.tparty, t2.tksap, t2.tbarkod, t2.td56, t2.ted, ');
            sqlAddStr(StmtString,'         Sum(tkol) FROM ( SELECT tbOracleData.tNsap tNsap, tbOracleData.tviddv tviddv, tbOracleData.tzavod tzavod, ');
            sqlAddStr(StmtString,'         tbOracleData.tsklad tsklad, tbOracleData.tparty tparty, tbOracleData.tksap tksap, tbOracleData.tbarkod tbarkod, ');
            sqlAddStr(StmtString,'         tbOracleData.td56 td56, tbOracleData.ted ted, tbOracleData.tkol tkol FROM  tbOracleData  ');
            sqlAddStr(StmtString,'            ) t2 group by t2.tNsap, t2.tVidDv, t2.tzavod, t2.tsklad, t2.tparty, t2.tksap, t2.tbarkod, t2.td56, t2.ted order by t2.tNsap');
            sqlPrepare ( stmt, StmtString );
            sqlExecute ( stmt );
            sqlFetchInto(stmt, TableByField(FieldNum(Tkatalog.tmain.tNSAP))); // вот здесь теперь вылет по 213 - выход коллекции за пределы!
            sqlFreeStmt(stmt);
Вылет теперь по 213 ошибке, причем до помеченной строки все работает, во временную таблицу оракла все входит, но вот выгрузка вылетает. Предполагаю неверно описание в помеченной строке результирующей таблицы. Пробовал разными методами, но не прокатывает (например, sqlFetchInto(stmt, Tkatalog.tntmain);). Что не так описано ?
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: 8.1 вылетает по рантайму (оракл)

Сообщение Den »

Дак это код fcom похоже.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: 8.1 вылетает по рантайму (оракл)

Сообщение edward_K »

угу. Пробуем sqlFetchInto(stmt,TKatalog.tnTMain), но не факт, что прокатит, да и работу DSQL в Fcom никто не гарантировал, в силу старости последнего. Есть еще несколько возможностей получения данных запроса, но они медленнее на порядок.
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: 8.1 вылетает по рантайму (оракл)

Сообщение savov »

пробовал такое, не прокатывает
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: 8.1 вылетает по рантайму (оракл)

Сообщение savov »

edward_k, прокатила версия с переименованием логической таблицы. НЕ времянки, а именно логической таблы. Почему это получилось, не знаю. Такая же логическая таблица объявлялась в другом ресурсе.
Код

Код: Выделить всё

.create View TKatalog as select * from tblSapIM;

.Create view tMC  as Select katmc.barkod, katmc.name from katmc
where((FMC==katmc.name));

.create View TVMain_IM as select * from Tmain;
...
            stmt := sqlAllocStmt;
            sqlAddStr(StmtString,'         SELECT t2.tNsap, t2.tViddv, t2.tzavod, t2.tsklad, t2.tparty, t2.tksap, t2.tbarkod, t2.td56, t2.ted, ');
            sqlAddStr(StmtString,'         Sum(tkol) FROM ( SELECT tbOracleData.tNsap tNsap, tbOracleData.tviddv tviddv, tbOracleData.tzavod tzavod, ');
            sqlAddStr(StmtString,'         tbOracleData.tsklad tsklad, tbOracleData.tparty tparty, tbOracleData.tksap tksap, tbOracleData.tbarkod tbarkod, ');
            sqlAddStr(StmtString,'         tbOracleData.td56 td56, tbOracleData.ted ted, tbOracleData.tkol tkol FROM  tbOracleData  ');
            sqlAddStr(StmtString,'            ) t2 group by t2.tNsap, t2.tVidDv, t2.tzavod, t2.tsklad, t2.tparty, t2.tksap, t2.tbarkod, t2.td56, t2.ted order by t2.tNsap');
            sqlPrepare ( stmt, StmtString );
            sqlExecute ( stmt );
            sqlFetchInto(stmt, tntmain);
т.е. пришлось разбить на два View и в таком виде работает.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: 8.1 вылетает по рантайму (оракл)

Сообщение edward_K »

У вас в логе компиляции наверняка сообщение, что tmain куда то добавлена. Видимо sqlfetch не могет понять имя вьюхи.
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: 8.1 вылетает по рантайму (оракл)

Сообщение savov »

Хм... поторопился я с оптимистичными выводами... Ошибка через некоторое время повторилась! Все с теми же признаками, перекомпиляция и новое переименование таблиц не помогает.Чертовщина какая-то :mad:
Ответить