8.1 вылетает по рантайму (оракл)
Модераторы: m0p3e, edward_K, Модераторы
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: 8.1 вылетает по рантайму (оракл)
А вот вопрос.То, что вы привели с ora90drv , похоже на кусок который выполняется при каждом переходе между модулями для чистки "зависших" зверей.
То , что это попало в ошибку - это уже следствие наверное.
По порядку
1. В галактику зашли?
2. Запустили отчет. В логах в cminit в первой строке что то появляется? Если нет, то у вас скорей всего косяк в логической табле, если да - это уже проще. Внимательно следите за временем, в лог вывод добавьте.
То , что это попало в ошибку - это уже следствие наверное.
По порядку
1. В галактику зашли?
2. Запустили отчет. В логах в cminit в первой строке что то появляется? Если нет, то у вас скорей всего косяк в логической табле, если да - это уже проще. Внимательно следите за временем, в лог вывод добавьте.
Re: 8.1 вылетает по рантайму (оракл)
Ошибка некорректного дескриптора часто происходит из за конфигурационных файлов (если сами конфигурировали интерфейсы).
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: 8.1 вылетает по рантайму (оракл)
Кстати. Ошибка при загрузке фейса со временными таблицами может быть еще вызвана наличием глобальной времянки с другой структурой(в том числе и в других ресурсах) , чем та, что используется в фейсе при компиляции. Попробуйте переименовать времянку.
-
- Местный житель
- Сообщения: 589
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Воронеж ОАО Верофарм. Воронеж
Re: 8.1 вылетает по рантайму (оракл)
Ошибка где то в логической.
Исправил сейчас так
Вылет теперь по 213 ошибке, причем до помеченной строки все работает, во временную таблицу оракла все входит, но вот выгрузка вылетает. Предполагаю неверно описание в помеченной строке результирующей таблицы. Пробовал разными методами, но не прокатывает (например, sqlFetchInto(stmt, Tkatalog.tntmain);). Что не так описано ?
Исправил сейчас так
Код: Выделить всё
.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);
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: 8.1 вылетает по рантайму (оракл)
Дак это код fcom похоже.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: 8.1 вылетает по рантайму (оракл)
угу. Пробуем sqlFetchInto(stmt,TKatalog.tnTMain), но не факт, что прокатит, да и работу DSQL в Fcom никто не гарантировал, в силу старости последнего. Есть еще несколько возможностей получения данных запроса, но они медленнее на порядок.
-
- Местный житель
- Сообщения: 589
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Воронеж ОАО Верофарм. Воронеж
Re: 8.1 вылетает по рантайму (оракл)
пробовал такое, не прокатывает
-
- Местный житель
- Сообщения: 589
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Воронеж ОАО Верофарм. Воронеж
Re: 8.1 вылетает по рантайму (оракл)
edward_k, прокатила версия с переименованием логической таблицы. НЕ времянки, а именно логической таблы. Почему это получилось, не знаю. Такая же логическая таблица объявлялась в другом ресурсе.
Код
т.е. пришлось разбить на два View и в таком виде работает.
Код
Код: Выделить всё
.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);
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: 8.1 вылетает по рантайму (оракл)
У вас в логе компиляции наверняка сообщение, что tmain куда то добавлена. Видимо sqlfetch не могет понять имя вьюхи.
-
- Местный житель
- Сообщения: 589
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Воронеж ОАО Верофарм. Воронеж
Re: 8.1 вылетает по рантайму (оракл)
Хм... поторопился я с оптимистичными выводами... Ошибка через некоторое время повторилась! Все с теми же признаками, перекомпиляция и новое переименование таблиц не помогает.Чертовщина какая-то