운영하면서 몇번 겪었으며 실제 기간계 Stored Procedure를 개발하는 개발자들도 정확히 인지하지 못하고 실수하는 사례가 있어서 공유의 차원에서 알려드립니다.


1. Trouble 상황

     - 현재 webMethods 시스템에서 기간계 DB에 데이터 Insert후 특정 Stored Procedure를 호출해주도록 하고 있음

     - 기간계 개발자가 PLSQL Developer, TOAD등 Tool를 활용하여 개발 및 TEST시에는 정상적으로 처리가 됨

     - webMethods에서 해당 Stored Procedure를 호출시 개발자가 의도한 대로 처리가 되지 않는 현상 발생


2. 해결점

     2-1) 기간계 개발자가 Store Procedure 내에 작성된 쿼리중 VARCHAR2  Type의 값을 DATE Type의 변수로 이동시 에러가 발생함

     ※ 여기서 중요한점이 PLSQL Developer, TOAD등 Tool을 이용해서 Stored Procedure를 테스트 하면 Type Casting이 자동으로 처리되면서 

         에러가 발생하지 않음

           - 위와 같은 현상이 발생하는 정확한 이유는 모르겠습니다... 

             예상으로는 Oracle Client로 붙어서 실행 했을 경우 형변환 Check를 대충 하는데 JDBC로 붙었을 경우 형변환시 에러가 떨어짐


     2-2) webMethods 에서 Stored Procedure를 호출할시에는 자동으로 Type Casting이 발생하지 않으면서 에러가 발생하므로, Stored Procedure내에서 DATE Type에 대한  명시적인 Type Casting (TO_DATE() 등..) 을 해주어야 정상적으로 처리되는 현상을 볼수 있음


몇몇 기간계 개발자들도 위와 같은 상황을 잘몰라서 원인 규명에 어려움을 겪는 사례가 자주 발생하여 EAI를 지원하는 저희들도 해당사항을 인지하고 있으면 Troubleshooting 시간이 많이 절약될 것으로 기대하여 공유해드립니다.             



Posted by INSPIEN
,