如果这是一个愚蠢的问题,请提前道歉,但谷歌发布的“文件流”,是否有人知道这将如何影响存储在其上的MS Access dbs?
我的“设置”是我的用户经常使用几年前为他们构建的AccessDB,我正在尝试在MS SQL中复制它。不是我选择的,文件由客户端存储在Google云端硬盘上:这实际上意味着我只能查看vba并在客户端不使用时进行测试。客户还使用Google的同步来访问该文件。
所以我的问题是双重的。首先,如果客户希望转移到文件流并询问这将如何影响他们使用Access文件的能力(我不知道)。其次,文件流是否可以在MS数据库上拥有多个用户而不会引起冲突或问题?在更改vba代码时,我是否仍需要确保对该文件具有独占访问权限?
提前致谢!
答案 0 :(得分:0)
MSAccess数据库引擎基本上基于MS文件系统提供的数据库原语。包括记录读/写/锁原语。 (打赌你甚至不知道MS操作系统有一个本机数据库系统!)。
访问记录和表不是文件系统记录和表,但是 - 记录和表的Access数据库系统构建在本机记录锁定系统之上。 (本机系统没有,也没有,任何小于文件级身份验证和权限的东西,因此Access在顶部构建了一个全新的系统。)
这意味着任何不支持MS文件系统和SMB协议等记录锁定的文件系统或任何网络文件系统重定向器都无法支持同时访问Access的多用户数据库中。
我不熟悉Google FileStream,但我认为它是使用数据库API访问二进制对象的一种方法吗?通常,这意味着API不会查看二进制对象:因此它无法锁定文件的各个部分以用于R或W或RW:这意味着您无法对R部分对象进行操作而其他人则是另一部分:这意味着您无法共享访问权限。 ......即使文件流意味着谷歌的不同之处,他们支持SMB的可能性也很小,对吗?
答案 1 :(得分:0)
根据经验,您需要确保一次只有一个人打开数据库。如果两个人打开数据库,则不会保存更改。尽可能尝试找到不同的解决方案。