저희가 ms access를 db로 써서 프로그램을 쓰는데 멀쩡하던게 갑자기 깨지는 경우가 많은데 이 문제는 db자체의 문제인가요 아니면 프로그래밍할때 처리를 잘못해주어서 그런가요
현재 db폴더를 공유해서 4~5정도의 컴퓨터에서 입력과 조회작업을 동시에 하는데 insert나 update문 같은 경우에는 transaction을 거의 다 걸어주었는데
원래 다중사용자가 하기에는 문제가 있는 db여서 그럴까요?
아시는 분 계시면 답변 올려주시면 고맙겠습니다.
물론, Exclusive Access를 사용하여,
MDB에 접속한 user가 있다면, 다른 유저는 접속 대기하는 형식으로
프로그램을 짜 놓았다면, 크게 문제가 없겠지만,
동시에 MDB를 Access하지 못한다는 한계가 있습니다..
또한, 여전히
PC 전원의 flesh(예, 갑작스런 부팅, 전원꺼짐등등)이 발생했을시
Tracsaction에 있던 여러 정보들과 index들이
*.MB 파일을 생성함과 동시에 깨어지는 그런 현상이 발생합니다.
물론, 동시에 Access하였을때에 많은 자료를 조회하는 SQL문을
사용할시에 *.MB 파일(메모리파일)이 생성되는데..
이때 서로 Access 순위에 대해서
MDB가 관리시 Paging 문제가 발생하게 되는데,
이때 많은 문제가 발생하기도 합니다.
간단히, 말해서, index가 잘 깨어진다는 말입니다.
저도 정확하게는 그런 현상이 왜 일어나는지는 확실히는 모르겠지만,
정확한 Trasaction 제어가 되지 않아서 발생하는 문제로 보입니다.
따라서, 2명이상이 사용할시에는 되도록 무료 DB(파이어버드,mysql)등을
이용하거나, 상용 DB(Ms-sql, oracle, informix등)를 이용하는게
좋다고 판단됩니다.
저는 개인적으로 mysql을 권해 드리고 싶습니다.
물론, 각종 OS 버젼으로 무료로 다운받으실 수 있으며,
Source 또한 받으실 수 있습니다.