天天看點

連接配接加密Access資料庫的字元串設定方法

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 http://www.cnblogs.com/yunfei181/archive/2009/07/07/1518152.html