2

到目前为止,我所有的(家庭)CF 学习都是使用 Access 作为数据库完成的,就数据库而言,我“明白了”。没有数据库服务器,也不需要登录数据库什么的,建立表关系简单直观。哦,它基本上可以免费部署。

但是,我现在正在开发一个应用程序,该应用程序可能会在多个企业中使用,并且可能有多达 50 个并发用户。我听说 Access 真的不适合多用户使用或应用程序的生产使用。你会推荐什么更合适,最好易于掌握,我的 SQL 需要最少的 tweeking(我使用了一个工具来转换为 MySQL,它处理连接的方式当然不同,我不想做太多调试),可视化界面可用的、可扩展的、可备份的,以及我还不知道我需要的任何其他东西!

4

5 回答 5

8

我推荐SQL Server 2008 Express。它具有出色的功能集、图形 UI 管理工具,随着您的不断发展,您可以轻松地从它升级到更多商业解决方案。

于 2010-06-09T19:51:47.137 回答
3

您可以使用 MySQL 或Microsoft SQL Server Express。两者都是免费的,并且都运行良好。

不幸的是,无论你使用什么,你都会为转换数据库而头疼。Microsoft Access 不使用标准 SQL,因此字符串连接、函数等会有所不同。

于 2010-06-09T19:51:52.657 回答
0

如果您只是将 Access 用作数据库,那么自然地,Microsoft SQL Server 在概念(和 SQL 方言)上最接近于 access。

但是,如果您的重点是 Web 开发,那么 LAMP 堆栈,特别是 MySQL 是更好的选择。您至少应该对一些基本管理有所了解。

我的经验是,主要挑战将是数据类型和字符串操作(听起来你有类似的问题)。

通常,努力编写可移植的 SQL,因此最好阅读一些使其不可移植或避免使用特殊技巧的内容。如果你不能做到这一点,那么就使用代码进行抽象,甚至使用 ORM 工具。

恕我直言,Access 的主要好处是它内置了对生成 UI 和报告的支持,同时隐藏了许多底层 SQL。大多数 Microsoft 语言(尤其是 VB)都提供类似的功能。如果您使用过 UI 或表单,那么您现在必须学习用于生成 UI/表单/页面的语言或工具,以及如何使用 SQL。既然您提到了 ColdFusion,我假设您已经掌握了这些技能中的大部分。

于 2010-06-09T19:50:50.163 回答
0

在做任何事情之前,我会选择一个数据库抽象层并重构现有代码以使用它。

然后,几乎完全地换掉你的后端是相对微不足道的。

如果您使用准备好的语句,您还将获得针对多种形式的 SQL 注入的保护。

我还要指出,Jet/ACE 后端从来都不是基于 Web 的应用程序的好选择,因为 Web 服务器和 Jet/ACE 数据库引擎的线程模型和内存管理不匹配(尽管如果您使用ADO, Jet 据说是线程安全的;我不太明白你怎么能神奇地将一个非线程安全的数据库引擎转换成一个带有数据接口层的线程安全引擎,但迈克尔卡普兰说是这样,他是那种在这类主题上您可以信任的人)。

于 2010-06-09T22:22:02.987 回答
0

我对 Microsoft SQL Server Express 没有任何经验,所以我不能代表。但是,我确实将 MySQL 与 ColdFusion 8 一起使用,并且我一直对 MySQL 的功能、灵活性、易用性、社区支持和速度印象深刻。PHP MyAdmin 非常简单,是 MySQL 的一个很好的 Web 界面。我的 0.02 美元,随你怎么花。

于 2010-06-09T22:34:35.230 回答