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)而不是真正使用它是个好主意。如果不是我如何编辑我的工作组文件。

4

2 回答 2

1

感谢您对 ULS 的解释非常有用。对于每个人来说,这里的信息都是我所做的,而且效果很好

libname savesdb odbc 
    required="driver=Microsoft Access Driver (*.mdb, *.accdb);                    
                      dbq=W:\BD.mdb; 
                      uid=admin; 
                      pwd=PASSWORD" 
    access=readonly 
    ;  
于 2013-09-24T14:42:35.077 回答
0

“... ACCESS 2010 不再支持工作组文件。”

这种情况令人困惑。ULS(用户级安全)使用 MDW 工作组信息文件来存储有关 Access 安全用户和组的信息。Microsoft 在 Access 2007 中引入了 ACCDB 文件格式。ACCDB 不再支持 ULS。但是,Access 2007 及更高版本仍完全支持具有旧 MDB 数据库文件格式的 ULS。

“是否必须使用带有只读参数的工作组?”

不,不是从访问端。我不知道 SAS 配置细节是否会使情况复杂化。

如果您需要为您的 SAS 连接使用 MDW 文件,您可以通过打开 Access、立即窗口 ( Ctrl+ g) 并使用SystemDb来查找它的位置。

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

还要注意有 2 种类型的密码可以与 Access db 文件相关联。

  1. 数据库密码:附加到 db 文件的单个密码。所有连接尝试都必须提供此密码。它与ULS无关。
  2. 用户密码:这些适用于 ULS,每个定义的用户都有单独的密码。

很抱歉给你扔了这么多信息。但我想鼓励您确认您正在使用哪些密码类型,并确保您使用正确的 SAS 连接选项来区分这些密码类型。但是,我对 SAS 连接选项和配置一无所知。

于 2013-09-23T15:19:26.657 回答