델파이 초보로서 질문 드립니다.
현재 시스템은 서버 한대에 네트워크로 PC가 5대에서 10대정도 연결되 있는
시스템입니다. 서버는 NT2000에 SQL 7.0이 깔려 있구요
PC는 Window98이 설치 되있습니다.
각 PC에 깔린 프로그램에서 수시로 데이타를 입력하면 서버에 저장이 되고
저장된 데이타를 검색할수 있는 기능도 프로그램에는 있거든요
근데 2군데 이상에서 동시에 입력하면 일련번호를 프라이머리 키로 설정해 놓아서
한 PC에는 다른 사람이 사용중인 레코드니 편집할수 없다는 메시지가 나오는 겁니다.
그런 경우를 방지하기 위해서 그 테이블에 프라이머리키를 없앴걸랑요.
그니까 일련번호가 중복되긴 해도 동시에 2건이상이 입력 가능하더라구요
하지만 문제는 일정기간이 지나면 갑자기 다음과 같은 현상이 나타납니다.
현상: 어느 순간부터 모래시계가 한 PC에서 시작되면서 나머지 PC도 영향이
미치는거죠 모래시계가 무한정 떠 있어서 작업을 못하는 겁니다.
어느 한 PC만 키고 작업하면 괜찮아도 다른 PC를 키고 프로그램 실행만
시키면 위와 같은 현상때문에 한 PC에서의 작업밖에 못하게 됩니다.
위와같은 문제의 해결방법을 하나 찾은건 데이타가 저장되는 테이블이 있는데요
거기에 아직까지 저장되있는 데이타를 모두 삭제하고 빈 테이블로 만든후
프로그램을 실행시키면 또 문제없이 잘 되는 겁니다.
근데 원인을 알고 데이타 삭제없이 문제를 해결하고 싶은데 도저히 델파이초보로서는
모르겠네요.
제가 서두에 프라이머리키 없앤 이야기를 한건 혹시 그것때문 아닐까 하는
추측때문입니다.
참고로 저장되는 데이타 건수는 하루에 1000~2000건입니다.
써놓고 보니까 이해가 잘 안될수도 있지만 여기까지 읽어주신분 감사드리고
도움이 안되도 좋으니 하나라도 짐작되시면 답변 해주시기 바랍니다.
감사합니다.
제 생각에 자료를 등록할때 프라이머리키를 삭제하셨다는데.
그 프라이머리키가 무엇인지가 궁금하네요. 그냥 관리용 Index번호 정도라면
그러니까... 년도에 월과 일을 붙여서 나버지 순번...20010423001이런것이라면
등록되는 시점에서 현제 등록할 값의 프라이머리키가 이미 등록이 되었는지를
검사해서 이미등록이 되었다면 인덱스값을 증가하여 또검사하고...등록이 되질
않는것을 찾기위해서여... 그렇게 해서 등록을 하면 괜찮을 것 같은데.
키를 사용하지 않는다면 먼저 문제가 될것이 속도 문제도 무시못하고,
자료를 처리함에 있어서 상당히 불편할 걸로 생각되네요.
그리고 정확하게는 모르겠지만, sql서버 자체의 문제도 생각되어지는데요?
키가 없이 데이터가 날아오면 자체 스키마처리에서 문제가 발생되어
그런경우가 발생하지 않을까 제....추측임다.^^;
등록전에..항상 등록할 자료가 이미 등록되었는지를 검사해 주시는게...아무래도
순서가 아닐까 합니다.
허접 답변이었음다.
궁금이 wrote:
> 델파이 초보로서 질문 드립니다.
> 현재 시스템은 서버 한대에 네트워크로 PC가 5대에서 10대정도 연결되 있는
> 시스템입니다. 서버는 NT2000에 SQL 7.0이 깔려 있구요
> PC는 Window98이 설치 되있습니다.
> 각 PC에 깔린 프로그램에서 수시로 데이타를 입력하면 서버에 저장이 되고
> 저장된 데이타를 검색할수 있는 기능도 프로그램에는 있거든요
> 근데 2군데 이상에서 동시에 입력하면 일련번호를 프라이머리 키로 설정해 놓아서
> 한 PC에는 다른 사람이 사용중인 레코드니 편집할수 없다는 메시지가 나오는 겁니다.
> 그런 경우를 방지하기 위해서 그 테이블에 프라이머리키를 없앴걸랑요.
> 그니까 일련번호가 중복되긴 해도 동시에 2건이상이 입력 가능하더라구요
> 하지만 문제는 일정기간이 지나면 갑자기 다음과 같은 현상이 나타납니다.
>
> 현상: 어느 순간부터 모래시계가 한 PC에서 시작되면서 나머지 PC도 영향이
> 미치는거죠 모래시계가 무한정 떠 있어서 작업을 못하는 겁니다.
> 어느 한 PC만 키고 작업하면 괜찮아도 다른 PC를 키고 프로그램 실행만
> 시키면 위와 같은 현상때문에 한 PC에서의 작업밖에 못하게 됩니다.
>
> 위와같은 문제의 해결방법을 하나 찾은건 데이타가 저장되는 테이블이 있는데요
> 거기에 아직까지 저장되있는 데이타를 모두 삭제하고 빈 테이블로 만든후
> 프로그램을 실행시키면 또 문제없이 잘 되는 겁니다.
> 근데 원인을 알고 데이타 삭제없이 문제를 해결하고 싶은데 도저히 델파이초보로서는
> 모르겠네요.
> 제가 서두에 프라이머리키 없앤 이야기를 한건 혹시 그것때문 아닐까 하는
> 추측때문입니다.
> 참고로 저장되는 데이타 건수는 하루에 1000~2000건입니다.
>
> 써놓고 보니까 이해가 잘 안될수도 있지만 여기까지 읽어주신분 감사드리고
> 도움이 안되도 좋으니 하나라도 짐작되시면 답변 해주시기 바랍니다.
> 감사합니다.
>