问题描述
我有一些内置于Access中的数据库,并且我希望在未连接到本地服务器\网络时能够查看和编辑它们。
如何使用C#访问以查看和编辑放置在没有VPN或SMB的服务器上的Access数据库(这意味着创建本地网络)。可以在服务器上实时编辑它吗?
这需要一个以上的人访问,因此,例如,如果一个人已经在编辑一个表(例如,FTP协议-在PC上下载和编辑并重新上传),我也想阻止它。
我希望我足够清楚并提供足够的信息,感谢所有帮助者!!请启发我:)
解决方法
我们首先必须询问最终用户如何运行和使用C#程序?
桌面:用户需要与服务器的网络连接。 (最可能是VPN)。
基于Web:用户将需要网络连接到WEB SERVER。这也可以是VPN,也可以是面向公众的Web服务器。这将要求登录以确保安全。
如果用户没有网络连接,那么这是oracle,MySQL,SQL Server还是Access都没有关系。实际上,如果这是基于Web的,则用户需要能够连接到该Web服务器。
因此,如果没有到数据所驻留的服务器或计算机的某种网络连接,并且您取消了VPN,那么您的选择将受到限制。
您可以构建网站并将其放置在服务器上。但是,如果即使在网站情况下用户也没有任何类型的网络连接,那么我看不到如何建议使用FTP,更不用说其他任何类型的连接了。
此功能需要一个以上的人访问,
好的,您需要多用户。但是,在sql服务器上锁定整个表以仅允许一个用户实际上是非常困难的。
但是,我们可以让您一次在一个给定表中保留一个用户。 (但是Access和网站实际上都可以允许多个用户-甚至可以编辑同一张表。)
总而言之? 然后,这建议了最明显的解决方案:运行Web服务器,这将允许任何用户连接到该网站,然后该网站可以读取/交谈/使用驻留在该服务器上的访问数据库。这再一次意味着您不需要安装任何客户端软件。
FTP并非实用的解决方案-因为它仅适用于整个文件。
因此,用户将需要某种方式才能连接到某些服务器。在这种情况下,然后将您的C#应用程序编写为基于Web的应用程序,这样就不需要客户端软件,并且与该服务器上的访问文件进行交互的唯一软件就是该网站。
因此,在该服务器上运行网站似乎是最佳选择。 因此,我们朝着Web解决方案前进。
因此,软件将保留并在服务器端100%运行,因此除了浏览器外,零客户端软件将是必需的。
,我开发了一个简单的Python Web服务器,可通过HTTP与Access DB一起使用:
https://github.com/vikilpet/MS-Access-HTTP-Server
对于您的情况,这可能不是理想的解决方案,但这可能是一个很好的起点。