如何部署Windows窗体应用程序数据库(How to deploy a windows forms

2019-10-21 10:45发布

我正在开发一个Windows窗体应用程序需要与SQL Server进行通信。 我现在面临一个问题,当我一旦部署在连接字符串的应用程序试图连接到一个无效的地址。

我已经搜查了很多,我发现了连接字符串必须具有|DataDirectory| 指示。 现在的.mdf文件位于目录C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA 。 其实连接字符串: connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|PDVDatabase.mdf;Database=PDVDATABASE;Trusted_Connection=Yes;"

我的应用程序连接到数据库的唯一方法是通过服务器资源管理器(我使用Visual Studio 2013),在那里我得到我在App.config设置.mdf文件的静态连接字符串,但这样不会部署后工作。

我的问题是:如何做我做我的应用程序部署后连接,以便与.mdf文件进行沟通? (我使用的部署安装项目)。 什么可能是错误的?

谢谢。

Answer 1:

很多事情需要处理

1) You need a copy of your MDF and LDF files to be distributed with your app
2) You need to know if your user has Sql Server installed in its internal LAN or its PC
If the previous condition is true then
    3.1) You need to attach your copy to the end user Sql Server Instance
    3.2) You need to change your connection string to point to the end user Sql Server Instance
else 
    4.1) You need to distribute and install LOCALDB
    4.1) You need to prepare the connection string for LOCALDB 

有些链接,以帮助您完成此任务

要附加和分离数据库信息
有关的LocalDB信息
对于ConnectionString中的LocalDB
查找SQL Server实例跨网络



Answer 2:

你应该把连接字符串到应用程序的App.config文件。 有意味的是,在配置文件中的部分。

<connectionStrings>
     <add name="Connection String name" connectionString="..."/>
</connectionStrings>

这就给了你一个灵活改变配置文件应用程序的部署过程后,以确保在用户环境中的数据库连接字符串点。

稍后,您可以获取从你的C#代码连接字符串System.Configuration.ConfigurationManager.ConnectionStrings集合。

在网上看了关于如何写在这里不同的连接字符串,例如: http://www.connectionstrings.com/ ,你应该能够写一个正确的连接字符串到数据库。



Answer 3:

也许你的烦恼都通过在数据库中不正确的用户和权限设置所致。 你必须确保,用户,即部署后使用应用程序,有权连接和工作数据库



文章来源: How to deploy a windows forms database application