도저히 이해가 안가는 부분이 있어 이렇게 게시판에 올립니다.
델파이4.0으로 만든 프로그램이고 DB는 MS-SQL7.0을 사용중입니다.
기존에 다른분이 만든 프로그램에 추가로 어느 한 DB에 칼럼을 하나
추가하여 데이타도 저장하고 그 데이타로 보고서도 뽑는 프로그램 입니다.
현재 7대의 pc에서 각각 데이타를 입력하면 실시간으로
MS-SQL이 깔려있는 서버에 데이타가 저장되는 시스템입니다.
그런데 문제는 제가 수정한 프로그램을 설치하니까 PC가 계속 다운(?)이 되는
겁니다. 한가지 알아낸 사실은 프로그램을 설치한후 데이타를 입력하면
일정한 데이타 입력후 PC가 다운(?)되고 프로그램을 다시 실행시키거나 PC를 재부팅하고
프로그램 실행하면 다시 일정 데이타 입력후 PC가 다운(?)되는 현상이 반복됩니다.
어떤 특정 PC만 그런건 아닙니다.
한 PC가 다운된후 빨리 그PC를 재부팅안하면 연쇄적으로 나머지 PC도 다운됩니다.
(여기서 다운은 모래시계 표시에 밑에 SQL이라고 나오는것입니다.)
이와 같은 현상이 계속 반복됩니다.
참고로 이 데이타베이스는 하루에 약 1500건이 입력됩니다.
프로그램 수정전에는 이러한 현상이 없었는데 수정후 이러니 미치겠습니다.
이게 프로그램 문제인지 서버쪽의 문제인지 아니면 제3의 문제인지
도대체 전 감을 못잡겠습니다.
회사에서 테트스하면 아무 이상 없는데 사용자 싸이트에 설치하면 이러니
정말 죽겠습니다.
어느 고마우신 분이 트랜젝션 또는 롤백,커미트 부분을 한번 보라고 하셨는데
델파이 소스 코드에는 그런 설정이 없거든요?
그런데 서버에서 엔터프라이즈 메니저를 실행시키면 MANAGEMENT 아래 Current Activity
아래 Process Info와 Lock/Process ID부분(이 부분은 사용자 싸이트의 서버에 훨씬 많은 뭔가가 있습니다.) 또 Lock/Object부분이 회사에 있는 서버와 사용자 싸이트에 있는 부분이 다릅니다. 특히 Lock/Object 부분이 회사에 있는 서버에는 칼럼을 추가한 데이타베이스 이름이 없는데 사용자 싸이트에는 그 데이타베이스가
추가로 존재합니다. 혹시 데이타베이스를 수정하면 위와 같은 현상이 나도록 잠금장치를 해놓은 건가요?(추측입니다.) 만약 그렇다면 어떻게 해제를 하는 것인가요?
확실한게 없어서 이렇게 고수님들의 도움을 요청합니다.
부디 사부님들 알려주시기 바랍니다.
Please.......
테스트 해야 할 것:
1) 사용자 사이트에서 하나의 PC만 가지고 계속 작업을 했을 때 "다운" 여부를 확인 해야 합니다.
2) 개발 서버에서 여러 대의 PC를 놓고 계속 사용 해 봐야 합니다.
그리고, 무슨 방식으로 프로그램을 짜셨는지요?
혹시 프로그램이 복잡한 Database작업을 합니까? 다시 말해서, 하나의 작업 (루틴)에서 여러개의 테이블 및 쿼리를 실행하시는지요. 그럴 경우는 Transaction 처리가 필수입니다.
그냥 BDE를 이용해서 작업했다면,
프로그램의 TDatabase 컴포넌트에서 Transaction 처리 (commit,rollback 등)
가 가능합니다. TQuery나 TTable을 열기 전에 TDatabase 컴포넌트에서 StartTransaction 메소드를 호출하고, 그후 진행여부에 따라 Commit 또는 Rollback을 이용한 후 EndTransaction을 콜하시면 프로그램이 안정적으로 작동하지 않을까 생각되는 군요.
한영수 wrote:
> 도저히 이해가 안가는 부분이 있어 이렇게 게시판에 올립니다.
> 델파이4.0으로 만든 프로그램이고 DB는 MS-SQL7.0을 사용중입니다.
> 기존에 다른분이 만든 프로그램에 추가로 어느 한 DB에 칼럼을 하나
> 추가하여 데이타도 저장하고 그 데이타로 보고서도 뽑는 프로그램 입니다.
> 현재 7대의 pc에서 각각 데이타를 입력하면 실시간으로
> MS-SQL이 깔려있는 서버에 데이타가 저장되는 시스템입니다.
> 그런데 문제는 제가 수정한 프로그램을 설치하니까 PC가 계속 다운(?)이 되는
> 겁니다. 한가지 알아낸 사실은 프로그램을 설치한후 데이타를 입력하면
> 일정한 데이타 입력후 PC가 다운(?)되고 프로그램을 다시 실행시키거나 PC를 재부팅하고
> 프로그램 실행하면 다시 일정 데이타 입력후 PC가 다운(?)되는 현상이 반복됩니다.
> 어떤 특정 PC만 그런건 아닙니다.
> 한 PC가 다운된후 빨리 그PC를 재부팅안하면 연쇄적으로 나머지 PC도 다운됩니다.
> (여기서 다운은 모래시계 표시에 밑에 SQL이라고 나오는것입니다.)
> 이와 같은 현상이 계속 반복됩니다.
> 참고로 이 데이타베이스는 하루에 약 1500건이 입력됩니다.
> 프로그램 수정전에는 이러한 현상이 없었는데 수정후 이러니 미치겠습니다.
> 이게 프로그램 문제인지 서버쪽의 문제인지 아니면 제3의 문제인지
> 도대체 전 감을 못잡겠습니다.
> 회사에서 테트스하면 아무 이상 없는데 사용자 싸이트에 설치하면 이러니
> 정말 죽겠습니다.
> 어느 고마우신 분이 트랜젝션 또는 롤백,커미트 부분을 한번 보라고 하셨는데
> 델파이 소스 코드에는 그런 설정이 없거든요?
> 그런데 서버에서 엔터프라이즈 메니저를 실행시키면 MANAGEMENT 아래 Current Activity
> 아래 Process Info와 Lock/Process ID부분(이 부분은 사용자 싸이트의 서버에 훨씬 많은 뭔가가 있습니다.) 또 Lock/Object부분이 회사에 있는 서버와 사용자 싸이트에 있는 부분이 다릅니다. 특히 Lock/Object 부분이 회사에 있는 서버에는 칼럼을 추가한 데이타베이스 이름이 없는데 사용자 싸이트에는 그 데이타베이스가
> 추가로 존재합니다. 혹시 데이타베이스를 수정하면 위와 같은 현상이 나도록 잠금장치를 해놓은 건가요?(추측입니다.) 만약 그렇다면 어떻게 해제를 하는 것인가요?
> 확실한게 없어서 이렇게 고수님들의 도움을 요청합니다.
> 부디 사부님들 알려주시기 바랍니다.
> Please.......