2009-05-21 2 views
1

다음 코드는 내가 사용하는 데이터베이스 사본을 만듭니다. 코드는 100 % 실행되지만 이후에 내 데이터베이스에 액세스 할 수 없다는 문제가 있습니다. "응용 프로그램을 시작할 수 없습니다. 작업 그룹 정보 파일이 없거나 다른 사용자가 독점적으로 열었습니다." 그래서 응용 프로그램을 다시 시작하면 다시 제대로 작동합니다.No 파일을 복사 한 후 mdb 데이터베이스 파일에 액세스하지 않습니다.

내가 로그인 한 계정이 아닌 특정 계정 이름과 암호를 사용하여 해당 데이터베이스에만 액세스 할 수 있기 때문에 그 이유가 확실합니다.

내가 원하는 것은 데이터베이스 mdb를 사용자가 액세스하지 않는 지점으로 기본 설정하거나 데이터베이스 mdb에 액세스 할 수있는 유일한 계정 이름을 다시 지정하는 것입니다.

어떤 아이디어라도 대단히 감사하겠습니다. 나는 파일 보안으로 놀아 보려고했지만 운이 없었다.

Private Sub cmdBackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBackup.Click 
     BackupDialogDB.DefaultExt = ".mdb" 
     BackupDialogDB.InitialDirectory = "c:\" 
     'SaveFileDialog1.ShowDialog() 

     If BackupDialogDB.ShowDialog() = Windows.Forms.DialogResult.OK Then 

      Try 

       Dim sDBFile As String = Application.StartupPath + "\VFMS_DB.mdb" 

       Dim sBackUpFile As String = BackupDialogDB.FileName 


       'First check the file u want to compact exists or not 
       If File.Exists(sDBFile) Then 
        If Not File.Exists(sBackUpFile) Then 
         File.Copy(sDBFile, sBackUpFile) 
        Else 
         File.Delete(sBackUpFile) 
         File.Copy(sDBFile, sBackUpFile) 
        End If 

        MessageBox.Show("The database was successfully backedup to: " + sBackUpFile , "Database Backedup", MessageBoxButtons.OK, MessageBoxIcon.Information) 

        sDBFile = "" 
       Else 
        MessageBox.Show("There is no database to backup. Please restore from a backup", "Database Backup Error", MessageBoxButtons.OK, MessageBoxIcon.Error) 
       End If 

      Catch ex As Exception 
       MsgBox(ex.Message) 
      End Try 
     End If 
    End Sub 

답변

0

데이터베이스를 복사 할 때 열려 있었습니까? Access는 데이터베이스가있는 디렉토리에 * .ldb 잠금 파일을 생성하므로 데이터베이스를 복사하기 전에 해당 파일을 확인해야 할 수 있습니다.

관련 문제