PDOXUSRS.LCK이 걸리는 이유가 뭔지를 알고 싶어요. 똑같은 작업을 두명이 동시에 접속해서 처리를 할때 한명만 사용 가능하고 다른 사용자는 LOCK이 걸려서 사용 못하는 의미에서 LOCK 에러가 나는 건가요.
아니면 델파이로 짠 서로 다른 프로그램이 파라독스 DB를 공유할때 이런 현상이 나나요. 그런 경우라면 한 개의 프로그램만 사용하고 다른 프로그램은 삭제를 하면 LOCK 에러가 나면 안되는데 그래도 LOCK 에러가 나는데 그러면 다른 원인이 있는가 알고 싶어요. 한 개의 프로그램을 삭제시에 프로그램 추가/삭제를 사용했고 레지스트리까지 삭제를 했고 또한 BDE에서 사용한 DB까지 삭제를 했지요. 그런데도 이런 에러가 나는 것은 무엇일까요. 참고로 직접 NT서버에서 DB를 공유해서 사용하고 있고 클라이언트에서는 실행파일만 복사해서 프로그램을 실행합니다.
LOCK이 걸리는 경우의 예와 그에 따른 해결 방법이 있으면 가르쳐주십시요. 해결을 못하면 퇴근을 못하는 입장이라서요.. 고수님의 많은 지도 편달 부탁드립니다.
> PDOXUSRS.LCK이 걸리는 이유가 뭔지를 알고 싶어요. 똑같은 작업을 두명이 동시에 접속해서 처리를 할때 한명만 사용 가능하고 다른 사용자는 LOCK이 걸려서 사용 못하는 의미에서 LOCK 에러가 나는 건가요.
> 아니면 델파이로 짠 서로 다른 프로그램이 파라독스 DB를 공유할때 이런 현상이 나나요. 그런 경우라면 한 개의 프로그램만 사용하고 다른 프로그램은 삭제를 하면 LOCK 에러가 나면 안되는데 그래도 LOCK 에러가 나는데 그러면 다른 원인이 있는가 알고 싶어요. 한 개의 프로그램을 삭제시에 프로그램 추가/삭제를 사용했고 레지스트리까지 삭제를 했고 또한 BDE에서 사용한 DB까지 삭제를 했지요. 그런데도 이런 에러가 나는 것은 무엇일까요. 참고로 직접 NT서버에서 DB를 공유해서 사용하고 있고 클라이언트에서는 실행파일만 복사해서 프로그램을 실행합니다.
> LOCK이 걸리는 경우의 예와 그에 따른 해결 방법이 있으면 가르쳐주십시요. 해결을 못하면 퇴근을 못하는 입장이라서요.. 고수님의 많은 지도 편달 부탁드립니다.
*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^
저도 자세히는 모르지만 아는 만큼만 대답을 드리지요.
먼저 파라독스는 오라클과 같은 데이타베이스로 생각하시면 않됨니다.
파라독스는 로칼디비인 파일디비입니다. 그러니까 멀티유저는가 사용하는데는 코딩상의 많은 주의가 필요합니다. 아 그렇다고 멀티유저가 되지 않는 것은 아니고요 그 만큼 멀티유저가 사용하기 위해서는 코딩상에서 멀티유저를 위한 기술적인 배려가 필요합니다.
위의 문제도 멀티유저를 위한 배려가 않되어서 그런문제가 생겨다고 생각합니다.
먼저 파라독스는 쓰기작업등를 할때에 LOCK 파일를 생성시커서 그 테이블의 다른 사람의 접근을 막습니다. 그러니까 한 사람이 쓰기작업등를 할때에는 다른사람도 거의 동시에 쓰기작업을 하면 미세한 차이로 먼저 쓰기작업등를 한 사람만이 작업를 하고 다른 한 사람의 작업은 테이블이 LOCK이 걸려 에러가 나지요.
이 문제를 해결하지 위해서는 먼저 코딩에서 쓰기작업등를 할때에 그 테이블이 LOCK이 걸려있는지를 체크해서 LOCK이 걸렸다면 기다렸다가 작업를 진행해야 하고요.
보통은 쓰기작업이 정상적으로 종료 되었다면 자동으로 LOCK파일은 지워집니다.
그러나 갑자기 작업중에 컴퓨터가 다운되었다던지 이미 다른 사람이 그 테이블를 사용중이거나 또는 비정상적으로 프로그램이 종료가 되면 LOCK파일을 지우지 않았기 때문에 프로그램을 종료후 다시 프로그램을 실행해도 계속해서 LOCK파일 때문에 에러만 계속 발생합니다. 이문제는 저는 프로그램 맨 앞에 LOCK파일를 체크해서 LOCK파일이 있으면 무조건 LOCK파일를 삭제하는 루틴을 넣어 해결합니다. 이렇게 되면 일단은 LOCK파일은 프로그램을 다시 실행시에는 자동으로 지워지니까요.^^ 그렇지 않으면 일일이 LOCK파일를 찾아서 수동으로 지워야 하니까요.
조금이라도 도움이 되었으면 합니다.
*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^*^.^