1

私は現在、VB6 CompactDatabase メソッドを使用して .mdb (Access DB) ファイルを圧縮し、VB6 を使用して元の DB に共有アクセス許可を再適用する方法を高低で検索しました。

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に圧縮され、シーケンスは元を削除し、新しい名前を古いものに変更します。

これに関する問題は、新しいファイルに元の共有アクセス許可がないことです。現在、「フル コントロール」で「全員」に設定されています。ファイルに直接ではなく、フォルダーにアクセス許可を設定する方法に関するコードを見つけました。

どんな助けでも大歓迎です。

4

1 に答える 1

0

興味のある人は誰でも解決策を見つけました。

元のコードでは; 一時パス「C:\temp」を使用して新しい「.mdb」を作成し、それを Program Files ディレクトリにコピーします。私は実際に「一時」フォルダーのアクセス許可を継承しました。

一時ファイル名を現在の DB と同じディレクトリに変更し、プロセスが完了すると、新しい .mdb は Old.mdb と同様に完全な権限を持ちます。乾杯

于 2013-03-28T06:55:24.937 に答える