[질문] proc 컴파일 오류입니다. 도와주십시요.

0
points

서버-A (9i), 서버-B(10g), 서버-C(11g)입니다.

EXEC SQL BEGIN DECLARE SECTION;
char username[30] = "user@서버-A";
char password[20] = "pass";
EXEC SQL END DECLARE SECTION;

이렇게 서버-C에서 컴파일을 하면 정상적으로 됩니다. 그러나

EXEC SQL BEGIN DECLARE SECTION;
char username[30] = "user@서버-B";
char password[20] = "pass";
EXEC SQL END DECLARE SECTION;

서버-C에서 서버-B로 바꾸어 컴파일을 하면 오류가 납니다.

프러시져 호출에서

sp_procedure(:aa, :bb);
....1
PLS-S-00000, Statement ignored

이런 메시지가 걸리는군요.

분명히 서버-A, 서버-B 모두 존재하는 프로시져입니다. 모두 각각의 서버에는 잘 돌아갑니다.

그런데 서버-B로 연결하면 컴파일 오류가 걸리는 이유를 모르겠습니다.
grant도 확인하였고... 해 볼건 다 해 보았습니다.

고수님들깨서 조금만 도와주십시요.

프로시져에 문제가 없다고 확신한다면

0
points

SQLCHECK=SYNTAX
옵션을 주고 한번 실행해 보세요..

답변에 감사드림니다...

0
points

먼저 답변에 감사드림니다.

그렇게도 해 보았습니다.

sqlcheck=syntax는

EXEC SQL EXECUTE
...........1
PCC-S-02345, SQLCHECK=SEMANTICS must be given when embedded PL/SQL blocks are used
Semantic error at line nnn, column nn, file aaa.pc:

이렇게... 역시나.. 쩝..

sqlcheck=full이나 SQLCHECK=SEMANTICS는

sp_procedure(:aa, :bb);
....1
PLS-S-00000, Statement ignored
Semantic error at line nnn, column n, file aaa.pc:
이렇습니다.

어찌해야 될지 모르겠네요..... 도와 주십시요...

수고하십시요.

역시...

0
points

혹시 proc 컴파일옵션에 userid옵션 변경하시고 실행해 보셨나요?

에러 메세지도 그 외에 먼가 있을 듯 한데요...
그 위쪽에 원인이 나와야 할 것 같은데...

10g로 해결했습니다.

0
points

먼저 "rhheo" 님깨 감사드림니다.

서버-A (9i), 서버-B(10g), 서버-C(11g)에서 서버-C의 오라클 버전을 10g로 내셨습니다.

그래서 테스트하니 아주 잘 되는군요. 뭐가 문젠지.. 쩝

처음에는 서버-C를 RHEL5.1, oracle11g이렇게.. 근디 위의 문제 때문에
RHEL5.1, oracle10g로 해결하였습니다.

별짓을 다 해보았는데 해결하지 못하고, 10g로 내려야만 했습니다.

많이 아쉽지만, 아주 잘 처리 되니 만족합니다.

답 주신 분깨 감사드리며, 모두 즐거운 시간되십시요.

다행이네요. ^^;;

0
points

별 도움 안되는 답변만 단 거 같아서 찜찜했었는데
다행입니다~ ^^

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.