我有一个(潜在的)客户端,他有几个先前开发的Access应用程序,他们想要升级到使用数据库后端。不幸的是,由于成本原因,他们不想使用SQL Server,并且由于许可限制,SQL Express可能不合适。
他们提到使用MySQL和一个选项 - 我对此持怀疑态度,而且我正在考虑推荐Postgres,尽管我对该组合的直接体验有限。
这两个数据库中的任何一个都是可行的选择吗?哪个是首选,是否还有其他替代方案需要考虑?
ADDED:他们正在寻找替换数据库但保留Access前端。显然这些似乎是相当简单的应用程序,但在大量用户(80+)中使用,因此SQL Server的成本影响和SQL Express的不适合性。
答案 0 :(得分:1)
我们对Access有非常好的体验 - > ODBC - > MySQL / Firebird。我认为PostGres应该很简单。
这不会解决您的所有性能问题(如果有的话)。获得显着性能提升的最佳方法是使用视图/存储过程/传递查询来为(快速)数据库服务器带来尽可能多的负载。
答案 1 :(得分:0)
如果您不想重写所有应用程序逻辑,可以使用ODBC链接mysql / mssql / postgres表(右键单击>链接表)。
那说它比在.net中重写应用程序要慢,而且你将无法利用数据库原生支持的一些功能。 db不兼容性也会导致一些奇怪的错误。
答案 2 :(得分:0)
实际上至少有一个新闻组帖子显示该海报在SQL Server Express 2005版本上有超过75个用户。关键是它是受限制的最大连接数,而不是连接的用户数。此外,那些被限制的只是等到前五个完成。因此,如果您的应用程序不会浪费大量时间进行“批处理”样式处理,那么它可以正常工作。
OTOH你会推动极限,所以我可以理解为什么你不想尝试这个,然后发现它不会起作用。
OTTH(第三方面)可能会安装多个SQL Server Express实例,并且每个应用程序都使用自己的实例来保持连接数量下降。我只是猜测这可以做到。我也理解为什么MS不允许你以这种方式游戏系统。