我正在编写一个带有Access Front端的分布式DB应用程序。基本上是一个带有一些表格和报告的mde。我应该使用访问mdb来保存后端表还是使用MySQL或其他数据库?
答案 0 :(得分:4)
我个人会使用SQL Server Express或MySQL。它们比Access后端更好地扩展,当您准备离开Access时,您可以在不必转换后端和前端的情况下进行扩展。
答案 1 :(得分:4)
SQL Server Express可能是一个很好的解决方案,但它也有一些非常严格的限制。此外,您需要确保其许可证符合您的需求。
如果您的并发和可伸缩性需求有限(例如10-15个并发用户具有适量的I / O),那么使用MDB后端并没有错。我不是Access粉丝,但我从经验中知道这通常会有用。
此外,管理MDB后端几乎是免费的,而MySQL或SQL Server Express将需要一些实际的DBA工作。如果你有理由相信你永远不需要它,那就没有必要去做更大的事了。
答案 2 :(得分:1)
对于实际部署,您可能希望使用真实数据库,而不是Access / Jet数据库引擎。
话虽这么说,访问的好处在于它有一个工具(在菜单中查看)将单个MDB文件拆分为数据库和代码。这样做,然后将代码瞄准新的数据源。
您可能需要稍微修改一些查询。
答案 3 :(得分:0)
我认为SQL Server Express将是您的最佳选择。 MySQL对于你的后端来说是一个很好的数据库,但Access与SQL Serv Express更好地集成(当然MS希望你使用它自己的产品,即使它是免费的)而且Express版本非常好,因为它是免费的。如果应用程序最终需要稍后扩展,那么升级到付费SQL Server很简单,驱动程序是相同的。
答案 4 :(得分:0)
我认为您应该定义“分布式数据库应用程序”的含义。根据我的理解,这个术语通常会让Jet退出后端。
如果没有用户人口,操作环境,安全性和可靠性要求等指示,没有人能够真正回答您的问题。如果是10个用户并且它不是业务线数据,那么Jet后端可能是完美的,使开发和管理变得轻而易举。如果您有100个用户,那么您肯定希望使用服务器后端。如果您有重要的安全注意事项(例如,HIPAA合规性),您可能希望使用内置服务器级安全性的数据库而不是Jet。
但是有很多应用程序可以让Jet后端很好 - 快速且完全可靠。
答案 5 :(得分:0)
还有第三个选项:您可以使用类似EQL Data的内容,以便您可以使用正常的Access后端,但为每个人提供自己的副本(并在它们之间进行同步)以帮助解决多用户可伸缩性问题。这样您就不需要考虑使用“真正的”DB后端的复杂性了。
答案 6 :(得分:0)
选择MySQL,您需要在每个客户端安装MySQL Connector(ODBC)。如果您不喜欢分发aditional组件,SQL Server Express将是一个不错的选择,此外,ADO可以更好地与MS SQL配合使用。