我继承了我们开发和销售多年的VB6 / Access应用程序。我们将使用SQL Server 2005 Express Edition和.Net。
该应用程序可以是多用户。目前,客户的设置很简单 - 导航到首次启动时创建数据库的文件夹;第二个用户浏览到同一个文件。
如果我们使用SQLExpress,我相信我们的应用程序需要更多参与才能在服务器上配置SQLExpress。但我认为我们将获得更好的安全性,并且(不需要更改代码)为大客户提供SQL版本。
如何从安装和技术支持的角度创建最佳客户体验?你遇到了什么问题?什么安装程序有效?
您是为服务器/客户端单独安装,还是仅提供良好的说明?客户在第一次尝试时会出现什么问题?
答案 0 :(得分:3)
Visual Studio中的部署项目允许您轻松安装SQL Server Express实例。
我们的应用程序具有相同的场景,这意味着您需要为客户端和服务器单独安装。
我们的服务器安装处理安装新SQL Server或在必要时升级现有安装的架构。客户端安装只是打包客户端所需的文件。您必须考虑升级数据库模式的方案,并确保客户端具有适用于新模式的更新客户端版本。我们通过以下简单的方式实现这一目标:
在数据库中存储版本ID,例如1.0.1 更新客户端应用程序的AssemblyInfo.cs并确保程序集版本与存储在数据库中的版本匹配。如果没有,则会提示用户安装新版本。
为了获得最佳用户体验,您希望能够安装新服务器版本并让所有客户端自动更新。我们有一种方法可以做到这一点,如果需要,我可以给你更多细节。
答案 1 :(得分:2)
有多少用户和多少数据?
我不知道是否有关于SQL Express 2005有多少用户“太多”的一般指导原则,但硬数据限制为4GB。我的猜测是你不会碰到那种具有Access遗产的东西,但知道它会是一件好事。
您可以自动安装SQL Express。我已经看到它已经完成了,因为我妻子安装了它并且她是我怀疑安装它的最后一个人。
我认为还有SQL Server Compact Edition目标是.NET 3.5以及Windows Mobile。我相信它更类似于“单一文件数据库”位,就像你使用Access一样。
答案 2 :(得分:2)
我建议使用SQL Express路由并将其包含在安装包中。安装程序有大量的命令行选项,您可以使用SQL脚本对数据库执行任何安装后配置(即启用/禁用CLR集成,OpenRowset,其他功能)。
此外,它比旧的MSDE 2000安装稳定得多;我做了噩梦支持。我还发现99次中有100次,使用默认的数据库安装参数会让人高兴。
答案 3 :(得分:1)
SQL Express将在功能和可靠性方面远远超过Access。它不应该需要任何其他配置,只需要一种不同的方法,只要你知道自己在做什么。
答案 4 :(得分:1)
在我的公司,我们经常使用它。在较慢的机器上启动时间较慢会出现一些问题。
Out install体验并不完美 - 有一个实用程序可以恢复应用程序用作数据库模板的数据库。
答案 5 :(得分:0)
由于您仍在考虑参加SQLExpress,您的小组是否考虑过SQLite?您仍然可以拥有所需的数据库功能,而无需在客户端系统上安装引擎。
答案 6 :(得分:0)
SQL Server 2005 Express Edition可以通过任何不错的安装程序轻松安装。只需几个小时的工作就可以了!如果你的心被放在上面,那就不要让安装的恐惧阻碍你。
答案 7 :(得分:0)
另一种选择:我相信您也可以在“文件模式”中使用SQL Server Express,您只需指向MDF文件,而不必运行SQL Server实例。这与您当前的应用程序使用Access的方式非常相似。我不确定这对多用户情况有何影响,但可能需要调查。