我正在编写MS访问程序,后端拆分为单独的文件。我想将后端存储在网络驱动器上但没有缺点(减慢一切,从不可靠的网络连接中损坏的风险)。
数据库只有3个用户,因此在有人使用数据库时锁定数据库是可以的。
我的计划是将后端存储在网络驱动器上,并在加载时将其复制到用户的本地目录。退出时,我将复制数据库。
(我将在网络驱动器上的文本文件中记录后端正在使用并锁定其他用户。退出时我会检查没有出错和数据库在将其复制回等之前仍然锁定此用户。)
我的问题是,是否可以访问使用后端首次加载时不存在的后端数据库?我想在加载时做的第一件事就是将数据库从网络复制到本地文件夹,然后将其作为后端加载。那可能吗?访问' AutoExec似乎不允许我这样做,还有其他选择吗?
(另外,如果我的计划完全愚蠢,请告诉我!)
由于
答案 0 :(得分:0)
是的,你可以 - 只要你的前端在副本准备就绪之前不要打开链接表。 您甚至可以让前端自己使用FileCopy命令复制文件。
但是,如果第二天用户互相错过或者副本失败,您的方法将会失败。 一个更好的方法是将后端升级到SQL Server Express(免费)并将其安装在任一位置的服务器上。
对于这种情况,服务器硬件可能只是运行Windows XP / 2003 +的任何可靠机器,但我建议至少使用Windows 7/2008。