Ora-00900 프로시저 - ora-00900 peulosijeo

        포럼(Forum) : ASP

2015년 06월 09일 20시 15분 00초,     조회수 : 1041
  제목 : 오라클 패키지 실행시 ORA-00900 에러
SEQ : 163068 글쓴이 : kmshsn

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

--- test.asp -------- <!--METADATA TYPE= "typelib" NAME= "ADODB Type Library" FILE="C:Program FilesCommon FilesSYSTEMADOmsado15.dll" --> <% Dim strConnect, StrSQL Set objConn = CreateObject("ADODB.Connection") strConnect="Provider=OraOLEDB.Oracle.1;Password=XXXX;Persist Security Info=True;User ID=XX;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.1)(PORT = 1521)))(CONNECT_DATA = (SID = XXX1)))" objConn.open strConnect StrSQL="execute kmsdba.pkg_list.send_jumsu(" StrSQL=StrSQL & "'xxxx'" StrSQL=StrSQL & ",'xxx'" StrSQL=StrSQL & ",null" StrSQL=StrSQL & ",null" StrSQL=StrSQL & ",'xxx'" StrSQL=StrSQL & ",'aaa'" StrSQL=StrSQL & ",01'" StrSQL=StrSQL & ",01'" StrSQL=StrSQL & ",'system'" StrSQL=StrSQL & ",'system'" StrSQL=StrSQL & ",'system');" 'StrSQL="SELECT * FROM MAN" objConn.Execute(StrSQL) objConn.Close Set objConn = Nothing %> ------------------------------------------------ 익스플로러 //192.168.1.5/test.asp 하면 OraOLEDB 오류 '80040e14' ORA-00900: SQL 문이 부적합합니다 /test.asp, 줄 26 이렇게 에러납니다. StrSQL 부분(execute ....)을 토드에 붙이면 에러없이 잘됩니다. 또한 'StrSQL="SELECT * FROM MAN" 이부분 주석처리를 지우면 에러 없습니다. 이것은 테스트해보려고 한것입니다. 이유가 뭔지 도무지 모르겠습니다. 도와주세요~~~

  ztardia
  2015-06-09(20:25)
provider=MSDAORA.1;
  ztardia
  2015-06-09(20:28)
아이고 설명이 빠져부렷네요

제가 전에 asp + 오라클로 뭐하나 했었는데
테스트 서버가 윈도우 32비트였습니다.

근데 실버서가 64비트로 옮겨지면서

프로시저들이 에러가 나더라구요
그래서 디비 접근 하는 부분을 하나 더 만들었습니다. 위에껄로요
그리고 프로시저는 다 저걸로 호출하니깐 잘되었습니다.~~~~

도움이 되길 바랍니다.
후딱 마무리하고 퇴근하시길


  sequel2
  2015-06-10(00:04)
위 ztardia 님 경우가 아니면 이렇게 해보세요. 첫 쿼리문 마지막에 세미콜론(;)을 지워보세
요.

  sequel2
  2015-06-10(00:09)
01 : StrSQL="execute kmsdba.pkg_list.send_jumsu("
02 : StrSQL=StrSQL & "'xxxx'"
03 : StrSQL=StrSQL & ",'xxx'"
04 : StrSQL=StrSQL & ",null"
05 : StrSQL=StrSQL & ",null"
06 : StrSQL=StrSQL & ",'xxx'"
07 : StrSQL=StrSQL & ",'aaa'"
08 : StrSQL=StrSQL & ",01'"
09 : StrSQL=StrSQL & ",01'"
10 : StrSQL=StrSQL & ",'system'"
11 : StrSQL=StrSQL & ",'system'"
12 : StrSQL=StrSQL & ",'system');"

또 한가지. 줄 번호가 위와 같다고 하면 8,9 줄 값의 홑따옴표 확인해 보세요.


  kmshsn
  2015-06-10(08:11)
sequal2님 8,9줄은 제가 여기 올리면서 빠트렸네요.
ztardia님 provider 바꿔보겠습니다.

  kmshsn
  2015-06-10(08:15)
ztardia님 provider 바꿔보았습니다만 똑같은 에러입니다. 흑흑
windows server 2012 R2입니다.

  kmshsn
  2015-06-10(08:21)
마지막 세미콜론도 지워서 해봤지만 같은 에러입니다.
  ztardia
  2015-06-10(13:01)
흐음....아쉽군요

그렇다면 구글링을 좀더 하셔서 이것저것 해보셔야겠네요 ㅠ.ㅠ

화이팅 입니다.


  kmshsn
  2015-06-10(15:16)
해결했습니다.
실행구문이 왜 이런지는 모르겠습니다만
StrSQL="BEGIN kmsdba.pkg_list.send_jumsu("
StrSQL=StrSQL & "'xxxx'"
StrSQL=StrSQL & ",'xxx'"
StrSQL=StrSQL & ",null"
StrSQL=StrSQL & ",null"
StrSQL=StrSQL & ",'xxx'"
StrSQL=StrSQL & ",'aaa'"
StrSQL=StrSQL & ",'01'"
StrSQL=StrSQL & ",'01'"
StrSQL=StrSQL & ",'system'"
StrSQL=StrSQL & ",'system'"
StrSQL=StrSQL & ",'system');"
StrSQL=StrSQL & " END;"

EXECUTE를 빼고 BEGIN 과 END 로 묶으니 됩니다.

도와주셔서 너무 감사합니다.




제목 작성자 날짜 조회
오라클 패키지 실행시 ORA-00900 에러 (9) kmshsn 2015-06-09 1041

Toplist

최신 우편물

태그