MS Access和Google文件流

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS Access和Google文件流相关的知识,希望对你有一定的参考价值。

如果这是一个愚蠢的问题,请提前道歉,但谷歌发布的“文件流”,是否有人知道这将如何影响存储在其上的MS Access dbs?

我的“设置”是我的用户经常使用几年前为他们构建的AccessDB,我正在尝试在MS SQL中复制它。不是我选择的,文件由客户端存储在Google云端硬盘上:这实际上意味着我只能查看vba并在客户端不使用时进行测试。客户还使用Google的同步来访问该文件。

所以我的问题是双重的。首先,如果客户希望转移到文件流并询问这将如何影响他们使用Access文件的能力(我不知道)。其次,文件流是否可以在MS数据库上拥有多个用户而不会引起冲突或问题?在更改vba代码时,我是否仍需要确保对该文件具有独占访问权限?

提前致谢!

答案

MSAccess数据库引擎基本上基于MS文件系统提供的数据库原语。包括记录读/写/锁原语。 (打赌你甚至不知道MS操作系统有一个本机数据库系统!)。

访问记录和表不是文件系统记录和表,但是 - 记录和表的Access数据库系统构建在本机记录锁定系统之上。 (本机系统没有,也从未有过任何小于文件级身份验证和权限的东西,因此Access在顶部构建了一个全新的系统)。

这意味着任何文件系统或任何网络文件系统重定向器(不支持MS文件系统和SMB协议等记录锁定)都不能支持同时访问Access数据库的多用户。

我不熟悉Google FileStream,但我认为这是使用数据库API访问二进制对象的一种方法吗?通常这意味着API不会查看二进制对象:所以它不能锁定R或W或RW的文件的各个部分:这意味着你不能R对象的一部分而其他人不同part:表示您无法共享访问权限。 ......即使文件流意味着与谷歌有所不同,他们支持SMB的可能性也很小,对吧?

另一答案

根据经验,您需要确保一次只有一个人打开数据库。如果两个人打开数据库,则不会保存更改。尽可能尝试找到不同的解决方案。

以上是关于MS Access和Google文件流的主要内容,如果未能解决你的问题,请参考以下文章

C# Stream 和 byte[] 之间的转换(文件流的应用)

RandomAccessFile流总结

(I/O流)在100ms内桌面上生成一个200M大小的文件

用内存流 文件流 资源生成客户端(Delphi开源)

C#怎样将数组作为文件流保存起来

vue 文件流下载iegoogle兼容