Ms access 在DB连接中使用工作组文件

Ms access 在DB连接中使用工作组文件,ms-access,sas,ms-access-2010,Ms Access,Sas,Ms Access 2010,首先,我有一个ACCESS 2003(.mdb)文件,其中没有工作组文件(.mdw)和数据库密码。问题是我想在SAS代码中指定我想以只读模式连接到DB。下面是我使用的命令: LIBNAME bdmdf ACCESS "W:\DB.mdb" access=readonly pw=PASSWORD; (Note that PASSWORD have no quotes) 问题是,当我指定“只读”时,他似乎必须指定一个.mdw文件 这里的问题是我使用的是ACCESS 2010,所以从我读到的ACCE

首先,我有一个ACCESS 2003(.mdb)文件,其中没有工作组文件(.mdw)和数据库密码。问题是我想在SAS代码中指定我想以只读模式连接到DB。下面是我使用的命令:

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

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

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

“是否必须将工作组与只读参数一起使用?”

不,不是从入口侧。我不知道SAS配置细节是否会使情况复杂化

如果您需要将MDW文件用于SAS连接,您可以通过打开Access,然后打开即时窗口(Ctrl+g)并使用
SystemDb
查找MDW文件的位置

? DAO.DBEngine.SystemDB
C:\Users\hans\AppData\Roaming\Microsoft\Access\System.mdw
还要注意,有两种类型的密码可以与Access db文件关联

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

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

    谢谢您对ULS的解释,非常有用。对于每个人来说,这里的信息就是我所做的,它工作得非常完美

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

    如果有用的话,SAS将使用ACE引擎访问.mdb文件(因此这与任何其他第三方软件应该没有什么不同)看起来DBPASSWORD是1.)的正确密码选项,PASSWORD是2.)的正确密码选项