2013-03-27 4 views
1

현재 VB6 CompactDatabase 메서드를 사용하여 .mdb (Access DB) 파일을 압축 한 다음 VB6을 사용하여 원본 DB에 대한 공유 권한을 다시 적용하는 방법을 찾기 위해 높게 및 낮게 검색했습니다.Re 네트워크상의 파일 공유

CompactDatabase 코드 :

Set jro = CreateObject("jro.JetEngine") 
If IsObject(jro) Then 

    jro.CompactDatabase _ 
     "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sourcePath & _ 
      ";Jet OLEDB:Database Password=" & DBPassword, _ 
     "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & tmpPath & _ 
      ";Jet OLEDB:Database Password=" & DBPassword & _ 
      ";Jet OLEDB:Encrypt Database=True;Jet OLEDB:Engine Type=5;" 
Else 
    compactDB = "Compact Failed: MDAC not installed correctly - missing JRO.JETENGINE" 
End If 

이 새로운 DB로 소형차와 순서가 원본을 삭제하고 이전에 새로운 이름을 변경하는 것입니다.

문제는 새 파일에 원본 공유 권한이없고 '현재 모든 권한'이 '모든 권한'으로 설정되어 있다는 것입니다. 폴더에 대한 사용 권한을 설정하는 방법에 대한 코드는 있지만 파일에는 직접 연결하지 않는 코드를 발견했습니다.

도움을 주시면 감사하겠습니다.

+0

MS Access가 작동하려면 폴더에 대한 사용 권한이 있어야한다는 것을 알고 계십니까? – Fionnuala

+0

네, 이제 몇 년 동안 시스템을 운영 해왔다. 이것은 문제가 아니며 압축하고 새로운 압축 된 .mdb를 만든 후에 원래 사용 권한이 손실됩니다. – FLOG51

답변

0

관심있는 사람은 누구나 해결책을 찾았습니다.

원본 코드에서; 임시 경로 "C : \ temp"를 사용하여 새 '.mdb'를 만든 다음 내 Program Files 디렉터리로 복사합니다. 사실 "temp"폴더의 사용 권한을 상속 받았습니다.

Temp 파일 이름을 현재 DB와 동일한 디렉터리로 변경했으며 프로세스가 완료되면 새로운 .mdb에 Old.mdb와 같은 모든 권한이 있습니다. 건배