我正在尝试为我没有代码的旧软件建立与Windows7兼容的新数据库管理器。我使用的是64位Windows 7,因此无法安装连接到数据库所需的DAO驱动程序。
不幸的是,数据库是使用DAO用户/工作组权限保护的。有没有办法从数据库中提取信息,或者绕过该文件的安全措施?
发布于 2017-05-03 22:44:14
您没有提到您必须使用哪个版本的Access。
如果您拥有access 2010或2013,则可以使用带有快捷方式的工作组安全文件打开数据库。
2010年
"C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE"
"c:\RidesDev\SkiRides\RidesXP\RidesXP.mdb"
/wrkgrp "c:\RidesDev\SkiRides\RidesXP\Rides.mdw"
2013年
"C:\Program Files (x86)\Microsoft Office\Office15\MSACCESS.EXE"
"c:\RidesDev\SkiRides\RidesXP\RidesXP.mdb"
/wrkgrp "c:\RidesDev\SkiRides\RidesXP\Rides.mdw"
上面的快捷键当然是一行,每个部分都用空格隔开。
使用上述快捷方式打开数据库后,这将指定工作组安全文件。系统将提示您输入用户名和密码。完成此操作后,可以从Access的“文件”菜单关闭数据库。(不退出Access)。此时,您可以创建一个空白的新2010 accDB数据库。然后从旧的mdb数据库导入所有对象。
请注意,以上操作是由您在不退出访问的情况下完成的-这意味着您将继续连接到安全组。由于您仍然连接到安全工作组,因此可以将所有对象从较旧的mdb导入到刚刚创建的新accDB中。此时,我将退出Access,然后启动新创建的数据库。
因此,新数据库将不再具有所有安全性,您退出并重新进入Access并在没有安全组快捷方式的情况下启动Access意味着您将在没有工作组安全性的情况下打开新数据库。
上面假设您拥有正确的用户+密码登录,并具有对数据库的完全权限。如果数据库有您不能绕过的启动代码和表单,那么您可以创建一个空白数据库,并再次为新数据库指定上面的工作组安全文件,这也允许您将对象导入到新的空白数据库中。结果应该是一个没有任何安全性的accDB文件。
https://stackoverflow.com/questions/9121000
复制相似问题