我猜这是每个初学者在客户端服务器方面都会遇到的基本问题:我开发了一个 C#.NET
Client
-Server
软件。
应用程序的基本概述
应用程序包含一个内置数据库,因此如果服务器不可用,则用户可以使用其本地系统上可用的数据库。如果服务器上有数据库可用,则将使用服务器数据库。单击按钮时,两个数据库会相互同步。因此,我有两个连接字符串,一个是用于本地系统的,另一个是用于服务器的。它们都是动态创建的。
对于:客户端安装 -> 现在我正在使用 Click One 应用程序
- 我的客户端系统使用本地数据库,我与我的应用程序一起安装。
问题1:
我有一个基于 SQL Server Express 的数据库部署。我创建了一个带有像 SQL Server 2008 这样的先决条件的 ClickOne 应用程序。当我安装 ClickOne 时,我的应用程序会正确安装,没有任何错误,但是在启动应用程序时,它会给我错误,说我的应用程序无法在 C:\Users\Xnor\AppData\Local\Apps\2.0\Data\N24R9574.9H1\V0Q1MX0C.0X9\....
找到数据库。
我上网搜索并发现,将我的 .mdf
复制到此位置将解决我的问题。但是为什么会发生这种情况?为什么它不能自己复制?
难道没有任何办法将 DB 永久附加到我的应用程序中,以便我可以避免这个手动工作吗?
到处都是将 .mdf
文件复制到该位置的说明,仅此而已。那是否有可能和建议将 .mdf
附加在资源中,并可从其中使用呢?寻求专家意见,最佳完成方式。
对于服务器:
我通常安装 Microsoft SQL Server Management Studio Express
,然后在那里为我的服务器创建数据库,然后它就可以与我的应用程序一起使用了。
问题2
如何简化这些步骤?告诉非 IT 人员并教他们在服务器上始终安装 Microsoft SQL Server Management Studio Express
,然后在其中创建一个数据库,然后将其连接字符串提供给应用程序以使其运行,这会带来很多问题。
我的基本要求只是让用户在安装过程中获得流畅的体验。因为进行安装的人并不是高级技术人员。他们可以一路点击“下一步”,但他们不喜欢做太多配置。有没有更专业的方法来做到这一点?我猜这是客户端-服务器软件中最重要的事情,我从来没有见过这样的软件会要求你做这么多配置。
我不想使用Click-one Deployment,因为它看起来非常不专业,而且我感觉它的功能非常有限。所以请建议其他可满足此要求的替代方案。
另外,我想知道这是非常重要的事情,但我在谷歌和YouTube上找不到现成的教程,我无法找到正确的方向来自动化这个事情,或者可能有一种方法可以减少步骤。
我准备部署两个设置:一个用于客户端,一个用于服务器。
如果需要其他信息,请告诉我。期待您的支持。谢谢。