Проблемы с работой DOA

dr.Zoidberg
Дата: 04.07.2009 09:48:30
Доброго всем времени суток.
Возникла следующая проблема с работой DOA:
на форме 3 компонента: oracleSession,oraclelogon,OracleQuery.
В свойствах "сессия" компонентов oraclelogon,OracleQuery проставлена oracleSession.
На обработке события formcreate стоит команда oraclelogon.Execute;
Компилим прогу, все ок, устанавилось соеднинение с базой.
Затем в режиме designtime в компоненте OracleQuery загружаю SQL-запрос с параметрами.
Делаю ScanSQL,устанавливаю значения параметров и так же в режиме designtime запускаю запрос.
Все проходит нормально, возвращается результат select'a в виде таблицы.
Но вот теперь при компиляции программы, на команде oraclelogon.Execute выдается ошибка Oracle:
ORA-00904: invalid column name.
При этом, если просто удалить параметры из свойства Variables в OracleQuery, то oraclelogon.Execute проходит нормально. но та же ошибка возникает уже после logona при выполнении команды oraclequery.DeclareVariable.

P.S. все остальные параметры компонентов стоят по умолчанию.заполнены только login,password и database в OracleSession.
dr.Zoidberg
Дата: 04.07.2009 09:54:27
Версия сервера Oracle8i Enterprise Edition Release 8.1.7.4.1
Delphi 2009,DOA 4.1
andreymx
Дата: 04.07.2009 10:00:35
ORA-00904: invalid column name - оракловая ошибка - в запросе.
Проверьте параметры подключения - БД, схема.
кстати, а зачем вам oraclelogon?
Вы БД-схема-пароль каждый раз вручную задаете?
miksoft
Дата: 04.07.2009 10:11:40
Можно Oracle Monitor-ом посмотреть что реально уходит Ораклу.
dr.Zoidberg
Дата: 04.07.2009 10:33:22
andreymx,

каждый раз пароль и логин вручную забиваются.
если не использовать logon, а то та же ошибка выходит на команде oraclesession.connection:=true.

Параметры подключения я думаю правильные, иначе бы запрос не проходил в designtime? а в коде параметры вручную я не ставил
SQLap
Дата: 04.07.2009 10:55:31
dr.Zoidberg,

SQL-запрос в студию
dr.Zoidberg
Дата: 04.07.2009 11:05:20
SQLap,

Вот пример запроса:
select region.name, to_char(to_date(waybill.date_waybill, 'dd-mm-rr'), 'yyyy')  D, round(sum(count1)/100,3) vol
from
waybill, region, company, list
where
waybill.company_id=company.id
and
to_date (waybill.date_waybill ,'dd-mm-rr')   between:pd1 and :pd2
group by region.name, to_char(to_date(waybill.date_waybill, 'dd-mm-rr'), 'yyyy')
dr.Zoidberg
Дата: 04.07.2009 11:09:28
Почему проблема может быть в запросе, если я не вызываю его на выполнение, а просто устанавливаю подключение к базе?
miksoft
Дата: 04.07.2009 11:15:44
Oracle Monitor уже смотрели?
dr.Zoidberg
Дата: 04.07.2009 11:30:57
SQL monitor у меня не работает, поставил Statement Tracer for Oracle
выдает ошибку при выполнении следующей строки.
select length(chr(2000000000)) l4, length(chr(2000000)) l3, length(chr(20000)) l2, 'c' c1 from dual