SQL문을 통채로 변수에 담아서 출력을 해보시기 바랍니다.
에러로그로 봐서는 분명히 SQL문장이 잘못되어 오라클에서 파싱에러가 발생하는겁니다.
그리고 SE terminated는 해당 SQL문의 수행시간이 길어서 기본 수행시간 120초를 초과하였기 때문에,
자동으로 토인비 엔진에서 끊어주는 작업을 하는겁니다.
단, 이때, 수행중인 SQL의 작업은 자동으로 끊어지지 않습니다.
해당 서비스의 SQL튜닝이 필요하네요.
>답글이 해당글 밑으로 달리지 않아서 다시 문의드립니다.
>
>ERROR: Cursor 정보를 초기화 하는데 실패했습니다.MSG[ORA-00917: missing comma
>
>":v_param_list[i]"
>이런식으로 ":" 추가해 보았으나 같은 오류가 발생합니다.
>
>그리고 특이점은 이 구문이 실행되고 난후, 시스템 전체가 느려지는데 그 원인을 알 수가 없습니다.
>특정 쿼리(평소 잘 돌던 쿼리)를 돌리면 느려지면서 SE is Terminated. Service[bg_ys601q_sl_01a] Process time[120 sec] over 타임아웃이 발생합니다.
>
>>게시판을 이용해 주셔서 감사합니다.
>>다음양식에 맞게 입력해주세요.
>>
>>* 고객시스템명 :
>>* TOInB 버전 : 5
>>* 서버 Platform : unix / oracle 8i
>>* 문의 유형(질문/요청/참조) :
>>* 내용 :
>>
>>
>> #define MAX_SIZE 250
>> #define MAX_INDEX 50
>>
>> char v_param[MAX_SIZE];
>> char v_param_list[MAX_INDEX][30];
>>
>> int index_count=0, len, count=0;
>>
>> strcpy(v_param, T_answer);
>> len=strlen(v_param);
>>
>> for(int i=0;i<len;i++)
>> {
>> v_param_list[index_count][count++]=v_param[i];
>> if(v_param[i]==';')
>> {
>> v_param_list[index_count++][count-1]=NULL;
>> count=0;
>> }
>> }
>> v_param_list[index_count++][count]=NULL;
>> count=0;
>>
>> for(int i=0;i<index_count;i++)
>> {
>> EXEC-SQL
>> SELECT MAX(NVL(col_num,0)) + 1 INTO :col1
>> FROM master_1;
>>
>> EXEC-SQL
>> INSERT INTO table_1
>> (col1, col2, col3,
>> col4, col5)
>> VALUES
>> (:col1, :col2, :col3,
>> v_param_list[i], :col5);
>>
>>//TBL_Prn(tb_stderr," 데이터[%s]", v_param_list[i]); <<--- 제대로 찍힙니다.
>> }
>> }
>>배열을 받아서 v_param_list[i] 변수를 찍어보면 정상적으로 들어오는데
>>insert문을 넣고 돌리면.. 콤마가 빠졌다는 오류(missing comma)가 뜨는데..
>>이상이 없는것 같은데..오류를 못찾겠네요..
>>
>>
>