我们最初在Access 2010中为一小组用户创建了一个Access数据库(目前只有10个)。现在,所有用户都升级到Office 2016(而不是365)。数据库被拆分,后端在联网计算机上的共享驱动器上。目前很小,即<1GB。现在需要将数据库设置为联机,以便用户可以从非现场连接到数据库。 这篇文章非常有用
我已经阅读了很多关于可能的解决方案,但不确定我是否理解这一切,所以希望我能得到一个简单而经济的解决方案。我们是一个非盈利组织。
据我所知,Sharepoint可能是一种解决方案,但对我们而言代价高昂 建议的解决方案似乎是将后端数据文件转换为SQL,并保持前端本地所有表单,查询和报告供用户根据当前情况使用。
所以有两个问题。
与MySQL vs SQL Express与SQL Server的区别
应该在哪里存储SQL转换后的文件 - “在云上”,但这是什么。我们是否必须获得空间提供者(即不是Dropbox,onedrive等)。我们在某个时候获得了一个网站 - 数据库可以存储在与网站相同的位置/提供商中。这对于敏感信息是否安全? (对不起,如果这是一个愚蠢的问题)
感谢。
答案 0 :(得分:1)
SharePoint价格昂贵,但大约6美元的Office 365订阅允许您邀请最多500个免费用户(他们甚至可以使用Gmail或非Microsoft帐户登录)。因此,每月总计6美元的高达500名用户相当多地表明,在Office 365上使用SharePoint表是最低成本选择,而不是您建议的一些昂贵的选择。 SharePoint表的主要问题是超过5000行的表,系统可能很慢。并且定义的所有关系必须是自动编号PK和长编号外键。如果您的应用程序“适合”在SharePoint表的限制范围内,那么低成本的Office 365计划是一个非常好的选择。此外,365设置允许前端应用程序即使在互联网连接丢失时也能运行 - 当您能够返回到具有互联网服务的位置时,数据会同步。
对于使用SQL Server,一般方法是必须将Access中的表迁移到SQL Server。 SQL服务器系统所在的位置是您的选择。您可以从Web托管提供程序使用SQL Server的运行实例,但仅限该Web提供程序允许外部ODBC连接。没有很多提供程序允许外部ODBC连接到SQL服务器(或MySQL)。这样做的原因是将网站数据库服务器暴露在充满黑客的狂野互联网上可能是一个冒险的选择。
另一种选择是使用Azure操作系统,而在Azure上有可用的SQL服务器版本(通常称为SQL Azure) - 这种选择允许外部连接。
所以MySQL和SQL Express之间没有太多不同。 SQL是免费的商业用途,MySQL服务器需要非常昂贵的许可证。但是,如果您选择网络托管,那么您不是购买数据库服务器,而是仅支付每月的网络托管费用 - 因此在选择托管系统时,您永远不必购买或设置SQL服务器,因此“价格”仅是反映在低月费。
因此,您的SQL服务器的位置将位于云中 - 通常来自您的网络托管服务提供商。如上所述,您可以使用基本的标准Web托管,并且大多数每个计划都包含SQL服务器或MySQL作为低成本计划的一部分(但问题是,FEW提供程序允许外部ODBC连接到在该网站上运行的SQL Server的运行实例)。
答案 1 :(得分:1)
您不需要SharePoint或任何其他软件。只需使用SQL Express(如果您开始达到性能限制,可以随时将其升级到完整的SQL Server)以使您的数据库可以在Internet上访问(此处存在安全问题,因此请确保您知道自己在做什么)或通过VPN和使用Access或Access Runtime分发您的前端。根据您对网络和访问的了解,您可以以零软件成本完成所需(假设您已经拥有至少一个具有用于开发和维护的MS Access的系统以及面向Windows服务器的Internet)。