开发一个直接访问SQL服务器的桌面应用程序是不是一个好主意?

我想安装一个桌面应用程序(在许多站点上 – 大约10-20)应该直接访问SQL Server,不需要服务,也不需要服务器-DAL。

应用程序将安装在大约10台机器的本地networking上,而其中一台是服务器。 当我安装程序时,我将设置连接string,应用程序将直接与SQL服务器通信。

这是一个坏主意吗?

如果是,那么有多糟?

这不一定是个坏主意。 如果你不需要缩放,那么这是一个有效的方法。

您所描述的内容通常称为2层客户端 – 服务器体系结构。

你可能应该在配置文件中加密连接字符串(但这只会停止窥探,而不是有意修复密码的人)。 另一个选择是通过可信任的连接使用Windows身份验证,但是确实失去了连接池的能力,但这不应该成为10-50个客户端(球场)的问题。

当然不是。

根据我最近看到的一项调查,您所描述的是典型的客户端服务器架构,大约50%的应用程序仍以这种方式构建。

鲍勃。

我已经建立了大量的应用程序。 我建议你在应用程序本身中构建一个DAL,这样如果你需要分离数据访问层和表示层,你可以很容易地做到这一点(还有其他的好处,比如代码标准化,单个地方改变东西等等)。

只要您保持一致并遵循最佳做法,我就不会看到任何问题。

如果它在你的本地网络上,那就去做吧。 如果它通过互联网,我会创建一个Web服务。

另外请注意,有很多现成的DAL(NHibernate,Entity Framework),所以你不需要推出你自己的,而且在客户端服务器体系结构中也是如此。