2013-03-27 242 views
1

我當前使用VB6 CompactDatabase方法來壓縮.mdb(Access數據庫)文件,並搜索高和低的方式以使用VB6重新應用原始數據庫上的共享權限。在網絡上重新共享文件

的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 

此壓緊到新的數據庫和順序是刪除原來的,並重新命名新老。

問題是這個新文件沒有原始共享權限,目前設置爲'所有人'與'完全控制'。我找到了關於如何設置文件夾權限但不直接指向文件的代碼。

任何幫助,將不勝感激。

+0

你知道你必須擁有MS Access文件夾的工作權限嗎? – Fionnuala 2013-03-27 11:21:06

+0

是的,這個系統已經運行了很多年了。這不是問題,只是在壓縮並創建新的壓縮.mdb文件後損失了原始權限。 – FLOG51 2013-03-28 01:39:48

回答

0

對於任何有興趣的人,我已經找到了解決辦法。

在原始代碼中;通過使用臨時路徑「C:\ temp」來創建新的'.mdb',然後將其複製到我的Program Files目錄中;我實際上繼承了「temp」文件夾的權限。

我將Temp文件名更改爲與當前數據庫位於同一目錄中,並且當進程完成後,新的.mdb具有與Old.mdb一樣的完全權限。 乾杯