2013-09-23 94 views
2

首先我有一個ACCESS 2003(.mdb)文件,其中沒有工作組文件(.mdw)和數據庫密碼。事情是我想在我的SAS代碼中指定我想要以只讀模式連接到數據庫。這裏的命令,我使用:使用工作組文件與數據庫連接

LIBNAME bdmdf ACCESS "W:\DB.mdb" access=readonly pw=PASSWORD; (Note that PASSWORD have no quotes) 

的事情是,當我指定「只讀」,他似乎強制指定.mdw文件。

這裏的問題是我使用的是ACCESS 2010,所以從我讀的ACCESS 2010中不再支持工作組文件。我發現我可以執行「DoCmd.RunCommand acCmdWorkgroupAdministrator 」來打開向導並創建.mdw文件,但我似乎找不到可以編輯工作組的位置。

最終的問題是,是否必須使用只讀參數的工作組?如果是的話,創建一個工作組(.mdw)並不真正使用它是一個好主意。如果不是我如何編輯我的工作組文件。

回答

0

「... ACCESS 2010不再支持工作組文件。」

這種情況令人困惑。 ULS(用戶級安全)使用MDW工作組信息文件來存儲有關Access安全用戶和組的信息。 Microsoft在Access 2007中引入了ACCDB文件格式.ACCDB不再支持ULS。但是,Access 2007和更高版本仍然完全支持具有較舊MDB數據庫文件格式的ULS。

「是否必須使用帶只讀參數的工作組?」

不,不是來自Access端。我不知道SAS配置細節是否使情況複雜化。

如果您需要使用MDW文件爲您的SAS連接,你可以找出它通過打開訪問,然後立即窗口(按Ctrl + 克),並使用SystemDb找到它的位置。

? DAO.DBEngine.SystemDB 
C:\Users\hans\AppData\Roaming\Microsoft\Access\System.mdw 

另外要注意有兩種類型的密碼可以與Access數據庫文件關聯。

  1. 數據庫密碼:附加到db文件的單個密碼。所有連接嘗試都必須提供此密碼。它與ULS無關。
  2. 用戶密碼:這些適用於ULS,每個定義的用戶都有單獨的密碼。

抱歉向您投擲如此多的信息。但是我想鼓勵您確認您正在使用哪些密碼類型,並確保您使用正確的SAS連接選項來區分這些密碼類型。但是,我不知道有關SAS連接選項和配置的任何信息。

+0

如果它是有幫助的,SAS將使用ACE引擎訪問.mdb文件(所以這應該是任何其他第三方軟件沒有什麼不同)。 – Joe

+1

http://support.sas。com/documentation/cdl/en/acpcref/63181/HTML/default/viewer.htm#n0qmltkh8j50qrn1qsflopy10vp5.htm - 它看起來像DBAPASSWORD是1的正確的密碼選項),密碼是2) – Joe

1

感謝您對ULS的解釋非常有用。因爲在這裏每個人的信息是什麼,我沒有和它完美地工作

libname savesdb odbc 
    required="driver=Microsoft Access Driver (*.mdb, *.accdb);      
         dbq=W:\BD.mdb; 
         uid=admin; 
         pwd=PASSWORD" 
    access=readonly 
    ;