C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[19893] Re:[질문]데이타베이스에 관한 질문입니다.(c/s)
만해 [greenuri] 664 읽음    2002-07-07 04:40
하안인 님이 쓰신 글 :
: c/s 프로그램에서 여러사용자가 동일한 레코드에 접근하여 데이타를
: 수정할 경우의 처리방안입니다.
:
: 테스트 프로그램을 짜서 테스트한 결과 한 사람이 저장한뒤 이전 데이타를
: 가지고 수정한 후 저장하려고 하면 에러가 발생됩니다.
:
: 그렇다면 다른 사용자가 수정하려고 할 당시에 수정할수 없다는
: 메시지를 뿌려 주고 싶은데 어떻게 해야 하나요.
:
: trnasaction이나 database에서 도움말을 찾아 봐도 아직 찾지 못해
: 염치 불구 하고 메일을 올립니다.
:
: 이에 관한 자료(책)나 처리방안을 알고 계시면 알려주시면 감사하겠습니다.
: 몇일째 아직 해결방안을 못 찾아서요.
:
: 그럼 비오는데 몸 조심하십시오.

안녕하세요 만해입니다.

데이타 공유에서 발생하는 데이타 일관성 문제 같은데요

제가 아는 방법은

DataBase에서 자료를 받아 와서

하나의 카피본을 만들고요

원본을 A , 카피본을 B라고 했을때

사용자가 A에서 자료에 대한 수정을 하는 명령이 입력 되면

프로그램에서 수정하고자 하는 원래의 데이타 즉 B의 데이타와

DataBase에서 지금 보관하고 있는 데이타를 비교

그 데이타가 동일하면 수정하고자 하는 작업을 수행 하고요

그렇지 않다면

누군가에 의해 그 자료가 수정되었다는 메세지와 새로운 값을 가져오면 되겠죠

아니면 뮤텍스를 이용해서

한 프로세서가 DataBase의 Table을 차지 할때마다

Lock을 걸고

Lock이 걸려 있으면 다른 프로세서에서는 그 Table에 접근 못하게 막고

Lock이 풀려야지만 다른 프로세서에서 접근 가능 하도록 하는 방법도 있습니다 .

이걸 경우에는 DeadLock을 조심 하시면 됩니다.

뮤텍스는 프로그래밍 언어론이나 운영체재에 나옵니다.

참고 하세요


+ -

관련 글 리스트
19853 [질문]데이타베이스에 관한 질문입니다.(c/s) 하안인 648 2002/07/05
19893     Re:[질문]데이타베이스에 관한 질문입니다.(c/s) 만해 664 2002/07/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.