【问题标题】:VB.NET and SQL Server Express application deploymentVB.NET 和 SQL Server Express 应用程序部署
【发布时间】:2013-06-17 23:02:23
【问题描述】:

我使用 VB.NET 开发了一个应用程序,并使用 SQL SERVER Express 作为数据库后端。 该应用程序有 5 个用户配置文件。(每个用户配置文件提供不同的服务)。

部署要求: 该应用程序将部署在具有 10-20 台机器的 LAN 上。 可以从任何机器访问任何用户配置文件。 对数据库条目的任何更改都应反映在所有机器上。

我对如何实现此部署感到困惑。根据我的研究:

1.数据库应该部署在一台机器上。这台机器将充当数据库服务器。

我的问题: 我熟悉访问本地计算机上的数据库,但如何访问远程数据库? 连接字符串是唯一需要解决的问题还是还有其他问题? 我需要在所有机器上还是只在服务器机器上安装 SQL SERVER? 我必须处理并发问题(多个用户同时访问/修改相同数据)还是由数据库引擎处理?

2.应用程序可以通过两种方式部署: 一世。将可执行文件存储在服务器上的共享网络驱动器上。在每台机器的桌面上提供快捷方式。 ii.将可执行文件本身存储在每台机器上。

我的问题: 方法1如何工作? (在多台机器上运行的可执行文件的一个实例?:s) 在方法 2 中,数据库条目的更改是否会适当地反映在所有机器上? 在方法 2 中,如果应用程序发生更改,是否有任何方法可以在所有机器上更新它? (除了在每台机器上重新部署它) 哪种方法更可取? 所有机器都需要安装.NET framework吗?

我是否必须进行任何其他系统更改(防火墙、安全性、权限)? 如果可以选择在每台机器上安装操作系统,哪种版本的 windows 更适合这样的应用环境?

这是我第一次在网络上部署多用户数据库应用程序。我将非常感谢任何建议/建议、参考等。

【问题讨论】:

  • “部署”到底是什么意思?您是在向客户发送 CD,还是在现场可以访问所有机器(包括服务器)?
  • @peterG 我在现场,可以完全访问所有机器。

标签: sql-server vb.net deployment multi-user


【解决方案1】:

由于您可以亲自操作所有机器,因此您的任务相对简单。 在您选择的数据库服务器上安装 SQL Express。您应该禁用安装程序中的“隐藏高级选项”;这将允许您启用 TCP/IP 和 SQL Browser 服务;您也可能需要混合模式身份验证 - 取决于您的应用程序以及网络是域还是点对点。如您所知,需要修改连接字符串;服务器上 Windows 防火墙的默认配置也将阻止对 db 引擎的访问 - 您需要在防火墙中为浏览器服务和 SQL 服务器本身打开例外。打开这些作为 exe 的例外,而不是端口号等。或者,如果您的服务器和外部世界之间有防火墙,您可能决定只关闭服务器上的防火墙,至少在您使用时暂时关闭让它工作。 不,您不需要在工作站上安装任何 SQL Server 组件。 并发问题应由您的应用程序处理。我不想粗鲁,但如果您不知道这一点,您可能还没有准备好将您的应用程序部署到生产环境。究竟需要对并发做什么取决于应用程序的要求和您使用的数据访问技术。如果您的应用程序主要用于输入新记录,然后稍后再读取它们,那么您可能会在没有太多并发处理代码的情况下摆脱困境;这是用户同时编辑出现问题的现有记录的场景 - 但您至少需要进行基本处理。 重新定位客户端 exe 的位置 - 您的任何一个建议都可以工作。最简单的是使用 .msi 文件在每台机器上进行本地安装;您可以将 msi 的主副本放在服务器上。您可以使用登录脚本、组策略等,或者确实单击一次。为了在这个阶段保持简单,我只会从 .msi 安装到每台机器上——听起来你已经足够复杂了。 服务器上的 exe 副本可以由终端服务器 Citrix 等以更复杂的方式处理。 无论哪种方式,假设您的应用程序正常工作,是的,所有更改都将针对同一个数据库进行,并且对所有工作站可见。 是的,所有机器上都需要 .net 框架——但是,它很可能已经存在。不同版本的 Windows 附带不同版本的 Fx 内置和/或通过 Windows 更新进行更新;当然,这也取决于您构建 exe 的版本。 是的,我希望在这方面有一些帮助。祝你好运。

【讨论】:

  • 感谢您提供的信息。你的回答很有帮助。
【解决方案2】:

问题 1:您需要为每个“配置文件”创建 SQL Server“角色”。给定的用户将被分配一个或多个或那些“角色”。您的每个表、视图、存储过程和触发器都需要分配一个或多个角色。这是一个混乱的行业,这就是为什么 DBA 大部分时间都得到很多钱来闲逛(我在开玩笑,不要投票给我)。

问题 2:如果您“远程进入”服务器,您将看到服务器屏幕,这比工作站演示要枯燥得多。阅读“一键式”,这使您能够检测主机上更新的应用程序,并自动将更新部署到用户的机器上。这样就摆脱了每次修复某些问题时运行大约 20 台机器安装升级的相当混乱的业务。

【讨论】:

  • 谢谢。“一键式”确实提供了方便的解决方案。
猜你喜欢
  • 2014-11-08
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多