簡體   English   中英

如何通過Jet訪問Access工作組中受用戶名/密碼保護的Access數據庫?

[英]How do I access an Access database protected by a username/password in Access workgroups via Jet?

我發現此頁面建議將“ Jet OLEDB:System Database”項目添加到我的連接字符串中,然后為Open提供一個用戶名和密碼參數。 不幸的是,.NET OleDb類似乎沒有這個……我嘗試下面的代碼以防萬一:

testConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbFile + 
    ";Jet OLEDB:System Database=" + Path.GetDirectoryName(mdbFile) + "\\system.mdw;" + 
    "Jet OLEDB:System Username=***;Jet OLEDB:System Password=***");

但這似乎掛了很長時間,然后拋出“找不到可安裝的ISAM” DbException

有人有什么想法嗎?

編輯:我嘗試使用下面的連接字符串,該字符串停止了異常,但不允許我訪問任何表,就像在沒有正確設置工作組的情況下打開Access時發生的情況。

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbFile +
";Jet OLEDB:System Database=" + Path.GetDirectoryName(mdbFile) + "\\system.mdw;" +
"User ID=***;Password=***";

我現在感覺像個白痴,但不小心在該頁面上滾動了一下,我注意到某些連接字符串具有“用戶ID”和“密碼”參數。 更改連接字符串以使用這些字符串,而不是嘗試將其傳遞給“ Jet OLEDB:*”解決了該問題。

即,我的最終連接字符串為:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbFile +
";Jet OLEDB:System Database=" + Path.GetDirectoryName(mdbFile) + "\\system.mdw;" +
"User ID=***;Password=***";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM