* 사용환경 : 델파이5 / Windows 98
* 에러 메시지 : General SQL Error ORA-00936: 식이 없습니다.
눈으로 보기가 좀 어지렵습니다만, 고수님들의 조금한 관심이
저희 초보델파이언에게에는 큰 힘입니다. 또 면목없이..
v_-.-_v
테이블을 3개이고 각필드를 조합을 했습니다. 왜 Error가 나는지
with Qry_PeGugan do
begin
DisableControls;
Close;
SQL.Clear;
SQL.Add('SELECT A.LINE_NAME, A.SRCKEY, A.SRCIFINDEX||(||C.IFNAME||) SRCIFINDEX,');
SQL.Add('C.IP FROMIP, A.DESTKEY, A.DESTIFINDEX|| (||D.IFNAME||) DESTIFNUM,');
SQL.Add('D.IP TOIP, AVG(B.RESPONSE_TIME) IP_AVG, MAX(B.RESPONSE_TIME) IP_MAX,');
SQL.Add('MIN(B.RESPONSE_TIME) IP_MIN');
SQL.Add('FROM NMS_PERESPCONFIG_T A, NMS_PERESPONSE_T B, NMS_REDEVPORT_T C, NMS_REDEVPORT_T D');
SQL.Add('WHERE A.SRCKEY = B.SRCKEY AND A.SRCIFINDEX = B.SRCIFINDEX');
SQL.Add('AND A.DESTKEY = B.DESTKEY AND A.DESTIFINDEX = B.DESTIFINDEX');
SQL.Add('AND A.SRCKEY = C.KEY AND A.DESTKEY = D.KEY');
SQL.Add('AND B.COLLTIME BETWEEN :from AND :to');
SQL.Add('GROUP BY A.LINE_NAME,A.SRCKEY,A.SRCIFINDEX||(||C.IFNAME||),');
SQL.Add('C.IP, A.DESTKEY, A.DESTIFINDEX||(||D.IFNAME||),D.IP');
ParamByName('from').Asdate := DTP_From.Datetime;
ParamByName('to').Asdate := DTP_To.Datetime;
Open;
EnableControls;
end;
끝까지 봐주셔서 감사 합니다.
그럼 RE..좀
안녕하세요..
식이없다는 메세지는 주로 SQL문 문법에서 에러가 나서 그런데요..
소스를 좀 정리를 해봤더니
아랫부분..
SQL.Add('MIN(B.RESPONSE_TIME) IP_MIN');
SQL.Add('FROM NMS_PERESPCONFIG_T A, NMS_PERESPONSE_T B,
이부분이 붙어서 SQL문이 됩니다..
풀어서 얘기하면
MIN(B.RESPONSE_TIME) IP_MINFROM NMS_PERESPCONFIG_T A, NMS_PERESPONSE_T B,
이해가시나요?
필드들하고 FROM문장이 붙어버렸어요..
다른부분들도 마찬가지입니다..
한칸식 공백을 주어서 다시 해보시기 바랍니다..
SQL.Add('MIN(B.RESPONSE_TIME) IP_MIN '); <---
SQL.Add('FROM NMS_PERESPCONFIG_T A, NMS_PERESPONSE_T B,
Go100 wrote:
> * 사용환경 : 델파이5 / Windows 98
> * 에러 메시지 : General SQL Error ORA-00936: 식이 없습니다.
> 눈으로 보기가 좀 어지렵습니다만, 고수님들의 조금한 관심이
> 저희 초보델파이언에게에는 큰 힘입니다. 또 면목없이..
> v_-.-_v
> 테이블을 3개이고 각필드를 조합을 했습니다. 왜 Error가 나는지
>
> with Qry_PeGugan do
> begin
> DisableControls;
> Close;
> SQL.Clear;
> SQL.Add('SELECT A.LINE_NAME, A.SRCKEY, A.SRCIFINDEX||(||C.IFNAME||) SRCIFINDEX,');
> SQL.Add('C.IP FROMIP, A.DESTKEY, A.DESTIFINDEX|| (||D.IFNAME||) DESTIFNUM,');
> SQL.Add('D.IP TOIP, AVG(B.RESPONSE_TIME) IP_AVG, MAX(B.RESPONSE_TIME) IP_MAX,');
> SQL.Add('MIN(B.RESPONSE_TIME) IP_MIN');
> SQL.Add('FROM NMS_PERESPCONFIG_T A, NMS_PERESPONSE_T B, NMS_REDEVPORT_T C, NMS_REDEVPORT_T D');
> SQL.Add('WHERE A.SRCKEY = B.SRCKEY AND A.SRCIFINDEX = B.SRCIFINDEX');
> SQL.Add('AND A.DESTKEY = B.DESTKEY AND A.DESTIFINDEX = B.DESTIFINDEX');
> SQL.Add('AND A.SRCKEY = C.KEY AND A.DESTKEY = D.KEY');
> SQL.Add('AND B.COLLTIME BETWEEN :from AND :to');
> SQL.Add('GROUP BY A.LINE_NAME,A.SRCKEY,A.SRCIFINDEX||(||C.IFNAME||),');
> SQL.Add('C.IP, A.DESTKEY, A.DESTIFINDEX||(||D.IFNAME||),D.IP');
> ParamByName('from').Asdate := DTP_From.Datetime;
> ParamByName('to').Asdate := DTP_To.Datetime;
> Open;
> EnableControls;
> end;
>
> 끝까지 봐주셔서 감사 합니다.
> 그럼 RE..좀
>
>
>