我有一个 C++ 程序,它通过 OBDC 系统 DSN 连接连接到 Access 数据库。该 DSN 是 ProgramData 文件夹中 MDB 的路径。当用户 A 运行应用程序时,它会将该 MDB 文件复制到他们的 AppData\Local 文件夹,并且应用程序对 MDB 所做的任何更新都会复制到他们的 AppData 文件夹中的那个。这不好,因为如果用户 B 运行应用程序,我希望他们看到用户 A 对 MDB 所做的更改。
1) 有没有办法强制它不将 MDB 复制到他们的 AppData 文件夹,而只使用 ProgramData 中的那个?
2)我这样做正确吗?我是否应该将 MDB 放在 ProgramData 以外的其他位置,以便正确共享它?
3) 我是否需要让我的应用程序在启动时比较 MDB 的时间戳?在启动时我可以让它从 ProgramData 中拉出来,当它关闭时我可以让它写回 ProgramData?这似乎是一个 hack,我什至不知道权限是否会成为问题