我的问题与标题中描述的完全一样,但我不熟悉 MS Access,我想不惜一切代价避免与它进行交互。我偶然发现了一个基于 MS Access 的销售点 (POS) 系统。具体来说,是 MSAccess Runtime 2003。它使用几个 .mdf 文件,这些文件位于同一网络上的共享文件夹中,目前有 2 台 POS 计算机同时使用同一个数据库。SQL Server 2008 Express 实例正在服务器上运行,但它只列出了默认数据库。这是 POS 配置的一部分,在服务器机器上运行:
DBConnString=DRIVER=SQL Server;SERVER=(local);APP=Microsoft® Access;UID=sa;PWD=;DATABASE=DB_name
Systemfolder=C:\Kasse
此处的 Systemfolder 是存储 .mdf 文件的位置。在客户端 PC 上,它是文件夹的路径,由服务器共享。还有一个管理程序,当设置为客户端时,它会像这样启动:
"C:\Program Files (x86)\Microsoft Office\OFFICE11\MSACCESS.EXE" c:\kasse\Kontor\TSKontor.mdb /Runtime /WrkGrp c:\kasse\Kontor\SYSKONTOR.MDW
它还具有与之前命名的相同的连接字符串。
这些都没有锁定其他客户。
当我在 SSMS 中将所述 MDF 文件附加到服务器时,我可以按预期使用数据库,但 POS 程序有时会抱怨文件被锁定。我已将它们分开,现在 POS 可以像以前一样工作。
有人可以建议,如何在不锁定 .mdf 文件的情况下将此数据库附加到 SQL Server?附加是唯一的解决方案吗?