안녕 하세요
오라클에서 저장 프로시져를 불러 다가 리턴 값을 받아서 rs-232 보내는 프로그램 인데
저장 프로시져로 콜했을때 리턴 하는 시간이 길어 질수도 있고 계산하는 시간이 많이 걸릴수도 있거든요
rs232 보내는 함수 := 오라클로부터 데이터를 받아오는 함수 ( 리턴값 : 문자열)
이렇게 했는데 이틀에 한두번 꼴로 30대의 컴퓨터 중 3-4가 프로그램을 종료해도 rs-232 포트가 사용중이라
고 나오고 윈도우 상에 떠 있는 모든 프로그램을 종료해도 rs-232 포트가 사용중이라고 나와요
이게 데드락 인가여? 오라클로 부터 리턴 값을 받지 못해서 무한 대기 상태로 들어 간건 가요?
디비에서 받아 제어시에는 화일로 저장하거나 전역 변수로 해야 피할수 있다던데...
이게 어떤 경우 인지 또 이런 현상을 어떻게 피할수 있는지 궁금합니다
꼭 답변해 주세요
무한대기 상태로 빠져도 프로그램 종료후 232 포트의 사용이 불가능한것은
232 쪽 프로그램에서 뭔가 잘 못 되었다고 생각됩니다.
만일 무한 대기때문에 그렇다면 sql 실행시 무한루프 만들어놓고
프로그램 죽여보면 232가 열려있는지 닫혀있는지 확인함으로 이상 유무 판단이 될것 같습니다.
232 상황은 전체 환경을 고려해야 답이 나올것 같네요..
일단 db쪽 문제인지 232쪽 문제인지 파악하는게 우선입니다.