2009-07-21 2 views
3

다른 사용자가 사용중인 VB 6.0에서 MS Access 데이터베이스를 여는 방법이 있습니까?다른 사용자가 사용중인 VB에서 MS Access 데이터베이스 열기

.mdb 파일을 업데이트하는 서비스가 있습니다. 정기적으로 매개 변수를 읽음으로써이 DB를 모니터하고 싶습니다. 단순히 같은 (DB를 사용하지 않으면 작동)에 DB를 열려고하면

는 :

Private Sub Form_Load() 
Dim CurrentDBFileName 
On Error GoTo ErrorHandler 
    Set BaseDB = OpenDatabase("c:\temp\log_db.mdb") 
    Set DestRS = BaseDB.OpenRecordset("current_log_info", dbOpenDynaset) 
    DestRS.MoveFirst 
    CurrentDBFileName = DestRS!CurrentDB 
    BaseDB.Close 
ErrorHandler: 
    Debug.Print Err.Number; Err.Description 
End Sub 

을 오류가 나는 얻을 :

3051 Microsoft Jet 데이터베이스 엔진이 파일을 열 수 없습니다 파일 'b : \ log_db.mdb'. 이미 다른 사용자가 독점적으로 열었거나 해당 데이터를 볼 수있는 권한이 필요합니다.

어떻게이 문제를 해결할 수 있습니까?

광산이 아니므로 MDB 파일을 업데이트하는 서비스를 변경할 수 없습니다.

답변

3

시도 :

Set BaseDB = OpenDatabase("gui_db.mdb", false) 

가 공유 모드로 데이터베이스를 엽니 다. 모든 클라이언트는 데이터베이스를 공유 모드로 열어야합니다.

0

물론 가장 좋은 방법은 업데이터 서비스를 작성한 사람이 독점 모드가 아닌 공유 모드로 데이터베이스를 열어야한다는 것을 확신시키는 것입니다.

다른 옵션은 업데이트하려는 mdb 테이블을 별도의 백엔드 (다른 Access 데이터베이스 또는 SQL Server)로 분할하는 것입니다. 그런 다음 서비스에서 프론트 엔드 파일을 독점적으로 열면 백엔드 파일을 계속 공유해야합니다. 업데이터 서비스는 차이점을 볼 수 없어야합니다.

관련 문제