Access資料庫在一些小的系統程式中經常用到,為了給資料庫中的資訊增加一些安全性,最簡單的方法就是給Access檔案加上密碼(當然也可以将資料庫中的資料進行加密後在存放到檔案裡來保護資料,隻不過這種方法需要在程式中考慮加密和解密的問題),那針對有密碼的檔案通過資料庫連接配接字元串來進行連接配接通路呢?下面是我在網絡上找到的一些解決方案。收集起來以備後用。 access資料庫加密分3種 以下以access xp為例 1、工具 -> 安全-> 加密/解密資料庫,打開時無需任何更改 2、工具 -> 安全-> 設定資料庫密碼,打開密碼為 1 打開時需要使用 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID=admin;Password=;Jet OLEDB:Database Password=1" | 也可以用 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID='admin';Password=;Jet OLEDB:Database Password='1'" | 3、工具 -> 安全-> 使用者組與權限 .... ,使用者名為 admin 密碼為 rr 使用者組檔案為 c:\system.mdw,打開時需要使用 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID=admin;Password=rr;Jet OLEDB:Database Password=1;Jet OLEDB:System database=c:\system.mdw" | 也可以用 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID='admin';Password='rr';Jet OLEDB:Database Password='1';Jet OLEDB:System database=c:\system.mdw" | 如果在區域網路上共享通路資料庫,隻要将絕對路徑更改為 "\\計算機名\共享目錄名\檔案名.MDB" 即可,比如 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\access911\floder1\1.mdb;User ID='admin';Password='rr';Jet OLEDB:Database Password='1';Jet OLEDB:System database=\\access911\floder1\system.mdw" | 直接在連接配接字串裡面定義 MODE 屬性達到獨占/公享等目的也是可以的,比如: JetOLEDB:GlobalPartialBulkOps=2;JetOLEDB:RegistryPath=;JetOLEDB:DatabaseLockingMode=1; JetOLEDB:DatabasePassword=;DataSource=D:\db.mdb;Password=;JetOLEDB:EngineType=5; JetOLEDB:GlobalBulkTransactions=1;Provider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:Systemdatabase=; JetOLEDB:SFP=False;ExtendedProperties=;Mode=ShareDenyNone;JetOLEDB:NewDatabasePassword=; JetOLEDB:CreateSystemDatabase=False;JetOLEDB:Don'tCopyLocaleonCompact=False; JetOLEDB:CompactWithoutReplicaRepair=False;UserID=Admin;JetOLEDB:EncryptDatabase=False 注意:Access 2007 在資料格式上有了很大變化,是以資料提供者已經不是 jet db 4.0 了,Microsoft.ACE.OLEDB.12.0 才是 *.accdb 的資料提供者。 Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Documents and Settings\chenge\My Documents\資料庫1.accdb;Mode=Share Deny Read|Share Deny Write;Extended Properties="";Jet OLEDB:System database=C:\Documents and Settings\chenge\Application Data\Microsoft\Access\System.mdw;Jet OLEDB:Registry Path=Software\Microsoft\Office\12.0\Access\Access Connectivity Engine;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=True | |