我正在使用odbc链表来维护一个使用访问mdb文件作为SQL Server前端的应用程序。
我想将mdb文件设为readonly(否则文件会随着用户的使用而增长和增长,有些奇怪的锁定错误与数据无关,而是与访问应用程序有关)。
由于所有数据都在sql中,即使我将mdb文件设为只读,应用程序应该可以正常工作,事实上它确实在大部分工作,除了...
部分应用程序使用DoCmd.TransferText将各种文本文件导入到各种表中。如果mdb文件是readonly我得到运行时错误3051错误“Microsoft Access数据库引擎无法打开或写入文件...它已由其他用户独占打开,或者您需要查看和写入其数据的权限”。< / p>
我看不出任何出现此错误的原因,因为我没有将任何数据写入mdb文件本身。 (我还注意到在“外部数据”功能区中,所有“导入”按钮都显示为灰色。)
有什么建议吗?
谢谢
答案 0 :(得分:2)
由于所有数据都在sql中,即使我将mdb文件设为只读,应用程序也应该正常工作
不一定。您正在将.mdb文件用作应用程序,因此可能需要更新.mdb文件中的本地临时表或其他对象。
此外,如果您使用的是.mdb前端,则每个用户 必须 被赋予他们自己的该文件的本地副本,因此文件膨胀本质上是非问题,你可以让用户拥有对本地文件的写访问权。