2011-01-03 2 views
1

데이터베이스 클래스를위한 프로젝트로서 C++로 코딩 된 간단한 객체 지향 데이터베이스를 구축했습니다. DB는 전체 DB에 대한 읽기/쓰기 권한을 부여하는 게이트웨이 파일을 사용하여 동시성을 관리합니다. 다른 컴퓨터에서 동일한 DB에 액세스하려면 공유 폴더를 사용합니다.공유 파일을 데이터베이스로 사용하기

나는 그 위에 약간의 퀴즈 응용 프로그램을 만들었습니다. 모든 것은 여러 사용자가있는 단일 시스템뿐만 아니라 집에있는 3 대의 컴퓨터 네트워크에서도 잘 작동합니다. 그러나 대학 네트워크에서 실행될 때, 나는 나쁜 CRC (데이터베이스가 아닌 디스크), 파일 헤더와 파일 데이터 및 기타 이상한 오류가 일치하지 않는 형태로 일관성없는 데이터 손상을 계속하고 있습니다. 추적. 네트워크에 문제가 있습니다. 네트워크의 일부 노드가 도달 할 수 없거나 때때로 파일을 복사하는 데 n/w를 사용하는 데 시간이 오래 걸리는 경우가 있습니다.

간혹 'Windows 지연 쓰기 실패'라는 오류 메시지가 표시되므로 네트워크상의 파일 공유 문제로 인해 문제가 발생했다고 생각합니다. 일부 분석에서 데이터가 캐시되고있는 것처럼 보이기 때문에 디스크 쓰기가 성공했는지 여부를 알 수 없습니다.

누구나 데이터베이스로 공유 파일을 사용해 본 경험이 있습니까? 공유 파일을 사용하는 것이 신뢰할 수 있는지, 문제의 원인으로 코드에서 버그를 조사해야하는지 여부를 알고 싶습니다.

감사합니다.

답변

2

아니요, 신뢰할 수 없습니다. CVS가 공유 파일을 저장소로 사용하는 모드를 비활성화 한 이유가 바로 그 때문입니다. 해결책은 서버 (예 : 간단한 TCP/IP 서버)를 만드는 것입니다.

+0

감사합니다. TCP/IP 서버가 왜 더 신뢰할 수있는 이유는 무엇입니까? –

관련 문제