我打包了使用数据库的WPF C#应用程序。使用数据库打包C#应用程序
但是,当我安装打包的应用程序时,它使用的是我在开始时通过visual studio(.mdf)创建的数据库,而不是创建另一个。
包装应用程序的全部目的是让我可以在其他计算机上共享它,所以我安装它,我需要它为应用程序的实例创建一个新的数据库。
有没有办法做到这一点? 是否有一个属性,我需要设置说数据库是本地实例?或者强制软件包在安装时创建一个新的软件包?
任何帮助将不胜感激。
谢谢。
我打包了使用数据库的WPF C#应用程序。使用数据库打包C#应用程序
但是,当我安装打包的应用程序时,它使用的是我在开始时通过visual studio(.mdf)创建的数据库,而不是创建另一个。
包装应用程序的全部目的是让我可以在其他计算机上共享它,所以我安装它,我需要它为应用程序的实例创建一个新的数据库。
有没有办法做到这一点? 是否有一个属性,我需要设置说数据库是本地实例?或者强制软件包在安装时创建一个新的软件包?
任何帮助将不胜感激。
谢谢。
请确保您的数据库部署在客户端,并更改应用程序中的连接字符串以指向它。
刚刚在自己做这件事的时候,我建议的一件事是使用SQL Compact Edition使得该过程变得更容易,但是如果此时过程太迟,那么坚持使用当前数据库,但是我不知道下面的方法是否适用于MDF文件。
如何在客户机上部署应用程序?用户机器是否安装了SQL?
你需要做的第一件事就是去你的MDF的属性,并确保复制到输出目录设置为复制如果更新,建立操作设置为内容。
如果您使用的是安装项目来安装应用程序,那么您需要确保在项目,应用程序属性,发布,应用程序文件中您的mdf在列表中并且设置为数据文件自动,必需并包括。
,并在安装程序文件系统中的“应用程序文件夹”点击右键,然后加入, 项目输出,文件内容
最后更改连接字符串中的代码,以便它读取
using (SqlCeConnection sqlCon = new SqlCeConnection(@"Data Source=|DataDirectory|\App.sdf;Persist Security Info=False;")
,或者如果你不使用精简版
using (SqlConnection sqlCon = new SqlConnection(@"Data Source=|DataDirectory|\App.mdf;Persist Security Info=False;")
^使用“DataDirectory目录”的意思是你不关心用户将ŧ他的应用程序,你将永远得到正确的文件
在运行之前,并将您的数据库更改为紧凑,它不支持适当的SQL数据库将很多东西。
这一切后,你仍可能会遇到错误的权限,并因为它很长篇大论我可能已经错过了一个步骤,只是如果你需要更多的评论?
编辑 如果用户不具有SQL Server或SQL精简,你的最简单的办法是要求他们安装SQL CE或有使用该做同样的事情DLL文件的方式,但我不能”吨得到那工作
的链接,也就是在这里http://msdn.microsoft.com/en-us/library/aa983326.aspx
有每台客户端计算机上的SQL服务器? –
您使用SQL Server CE吗? –
您需要更改连接字符串以将数据库附加到SQL Server。 –