database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 3484 게시물 읽기
No. 3484
Re: [Pro*c]이 에러의 전체는 .....
작성자
길손
작성일
2001-03-29 12:55
조회수
3,447

이게 도움이 되실지...

ora-01036: illegal variable name/number at runtime on the EXECUTE of

a dynamic SQL statement.

 

Solution :

 

This is often caused by improper error checking on the PREPARE statement.

 

If the statement is not parsed correctly (the prepare statement fails) and

this is not detected properly by the program, the EXECUTE can fail with the

ORA-01036 error or with similar errors. Make sure that you check

sqlca.sqlcode after the PREPARE explicitly or implicitly with a WHENEVER

SQLERROR statement.

 

>>김동철 님께서 쓰시길<<

 

:: 2001/03/27 11:07:47 exeName.cgi funcName sqlca.sqlerrm.sqlerrmc ORA-01036: illegal variable name

:: /number

:: -1036

::

:: 프로씨로 씨지아이를 짜던 도중 만났습니다.

:: 상황은

:: showClass(ClsSchId,varName)

:: char varName[];

:: int ClsSchId;

:: {

:: fprintf(cgiOut,"<select size="1" name=%s>\n",varName);

:: memset(sqlCmd,0x00,sizeof(sqlCmd));

::

:: sprintf(sqlCmd,"SELECT ClsClass FROM Class WHERE ClsStuId=%d",ClsSchId);

::

:: EXEC SQL PREPARE SQL_Class FROM :sqlCmd;

:: EXEC SQL DECLARE CUR_Class CURSOR FOR SQL_Class;

:: EXEC SQL OPEN CUR_Class;

::

:: while (1) {

:: EXEC SQL FETCH CUR_Class INTO :ClsClasstmp;

::

:: if (sqlca.sqlcode == ERR_NODATA) {

:: EXEC SQL CLOSE CUR_Class;

:: break;

:: }

:: EXEC SQL SELECT CODCONTENT INTO :CodContent FROM CODE WHERE CodKind = '08' AND CodCode =

:: :ClsClasstmp;

:: CodContent.arr[CodContent.len]=0x00;

:: fprintf(cgiOut,"<option value="%s">%s</option>\n",ClsClasstmp.arr,CodContent.arr);

:: }

::

:: fprintf(cgiOut,"</select>\n");

:: }

:: 이 부분을 실행시킨후...

::

::

:: sprintf(sqlCmd,"select ClsClass, ClsGrade, ClsKind from class where clsstuid=%d",SchId);

::

:: EXEC SQL PREPARE SQL_AdmT FROM :sqlCmd;

:: EXEC SQL DECLARE CUR_AdmT CURSOR FOR SQL_AdmT;

:: EXEC SQL OPEN CUR_AdmT;

::

:: while (1) {

:: StuCount=0;

:: EXEC SQL FETCH CUR_AdmT

:: INTO :ClsClass,:ClsGrade,:ClsKind;

:: if (sqlca.sqlcode == ERR_NODATA) {

:: EXEC SQL CLOSE CUR_AdmT;

:: break;

:: }

:: ClsClass.arr[ClsClass.len]=0x00;

:: ClsGrade.arr[ClsGrade.len]=0x00;

:: ClsKind.arr[ClsKind.len]=0x00;

::

:: EXEC SQL SELECT COUNT(*) INTO :StuCount FROM STUDENT WHERE StuSchId=:SchId AND StuClass=

:: :ClsClass;

:: /* DEBUG */ saveMsg("exeName.cgi", "funcName", "sqlca.sqlerrm.sqlerrmc",ClsClass.arr ,ClsClass.l

:: en);

:: 바로 위 질이어를 실행시키고 에러를 찍어보니까...

::

:: 걱정됩니다. 고수님들 부탁드립니다.

::

[Top]
No.
제목
작성자
작성일
조회
3470원인 밝혀주시면.. 후사 하겠습니다.
김홍구
2001-03-28
2059
3475┕>Re: 원인 밝혀주시면.. 후사 하겠습니다.
정재익
2001-03-28 23:27:17
2428
3480 ┕>Re: Re: 원인 밝혀주시면.. 후사 하겠습니다.
김홍구
2001-03-29 11:39:58
2027
3507  ┕>Re: Re: Re: 원인 밝혀주시면.. 후사 하겠습니다.
정재익
2001-04-01 14:12:56
2379
3476┕>Re: 원인 밝혀주시면.. 후사 하겠습니다.
이상묵
2001-03-28 23:41:42
3923
3469혹시 램 64mb 에서 오라클 8 설치하신 분 계시면 좀 갈켜주세요!
최정원
2001-03-28
1744
3472┕>Re: 혹시 램 64mb 에서 오라클 8 설치하신 분 계시면 좀 갈켜주세요!
정재익
2001-03-28 15:38:26
1719
3474 ┕>Re: Re: 혹시 램 64mb 에서 오라클 8 설치하신 분 계시면 좀 갈켜주세요!
^^
2001-03-28 21:19:43
1874
3483  ┕>Re: Re: Re: 혹시 램 64mb 에서 오라클 8 설치하신 분 계시면 좀 갈켜주세요!
길손
2001-03-29 12:48:36
1702
3672┕>Re: 혹시 램 64mb 에서 오라클 8 설치하신 분 계시면 좀 갈켜주세요!
beavis
2001-04-13 22:54:51
1601
3468[질문] 테이블 생성법
배우미
2001-03-27
1784
3465[Pro*c]이 에러의 전체는 .....
김동철
2001-03-27
12708
3484┕>Re: [Pro*c]이 에러의 전체는 .....
길손
2001-03-29 12:55:15
3447
3464빈줄 삽입은 어떻게 하나요?
오라클 사용자
2001-03-27
1644
3467┕>Re: 빈줄 삽입은 어떻게 하나요?
아마도
2001-03-27 14:44:15
2937
3458oracle 파일을 OS백업 받아놓았습니다.. 이것을 가져올 수 있는 방법은???
임광혁
2001-03-26
1431
3466┕>Re: oracle 파일을 OS백업 받아놓았습니다.. 이것을 가져올 수 있는 방법은???
아마도
2001-03-27 14:35:58
1498
3457[질문]다른 계정 접근시에 에러 ORA-01034,ORA-27121
김명석
2001-03-25
1797
3460┕>Re: [질문]다른 계정 접근시에 에러 ORA-01034,ORA-27121
길손
2001-03-26 15:20:54
1873
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다