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
[14756] [질문]여러 Thread가 동시에 MDB를 access할때....
최익수 [tick] 2255 읽음    2002-01-20 21:14
안녕하세요?.....꾸벅....^^
오우....정말 오래간만에 와 보네요...
근데 확 달라졌네요?
순간 잘못들어 왔는줄 알고 나갔다가 다시 들어왔어요....^^

간만에 이렇게 들어와서 또 이상한 질문만...올리네요...에구...죄송....^^
다름이 아니라....하나의 프로그램에서 여러개의 Thread가 생성되서는
mdb의 하나의 table을 읽고 쓰는데 이걸 ADO로 할때에 대해서 여쭤볼까해요....
그니까....더 자세히 얘기하면...
쓰레드가 한번 생길때 마다 하나의 TADOConnection과 TADOQuery가 생깁니다.
그래서 각 쓰레드는 하나의 테이블 (예로, TestTable)을 읽고 쓰는데...
이때, 바로 쓸때...그니까...Insert를 할때 문제가 생기더라고요....
에러가 발생하면서 프로그램이 멈춥니다....에러메시지가 뭐라고 나냐 하면....
   "현재 잠겨 있으므로 업데이트할 수 없습니다"
라고 뜹니다....아무래도 데드락이 걸리는거 같은데....
물론, 어떠한 Syncronize변수도 사용하지 않았읍니다...글구..
일부러 transaction도 걸지 않았거든요...(insert는 맨 마지막에 한번 일어나니까...
글구, insert문이나 update문 하나만 수행하면 transaction을 걸 필요 없는거 아닌가요?
알아서 처리해 주는거 아닌가요?)
하여튼 그래서 mdb화일있는 폴더를 보면..."Access.LockFile.9"화일이 생겨 잇어요...
왜 이런일이 생기는거죠? mdb는 한프로그램에서 하나의 session만 열수 있나요?
아니면 쓰레드에서 ADO를 쓰려면 다른 뭔가를 해줘야 하나요?

고수님들 부탁합니다....꾸벅....
그럼, 수고들 하시고...안녕....

+ -

관련 글 리스트
14756 [질문]여러 Thread가 동시에 MDB를 access할때.... 최익수 2255 2002/01/20
14782     Re:[질문]여러 Thread가 동시에 MDB를 access할때.... 패패루 2178 2002/01/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.