2011-04-26 67 views
6

我正在尝试创建一个应用程序,该应用程序使用本地.mdf数据库文件(未附加到sql服务器)。 Visual Studio说我必须先安装SQL Server Express。 我想知道如何将应用程序部署到客户端。他们是否也需要安装SQL Server Express?如何部署.mdf文件

非常感谢

+0

MDB =的MS Access/SQL Server使用.mdf/.ndf/.ldf - 那么现在是什么? – 2011-04-26 20:26:49

回答

4

他们需要安装SQL Server Express。安装完成后,您需要将数据库文件(.mdf)附加到服务器上。

+1

感谢您的回答。我不想将它附加到服务器上。我只想让它独立。这是否需要安装sql express,因为我不希望我的客户端安装它。 – Frank 2011-04-26 19:21:23

+3

是的。必须将.mdf文件附加到SQL Server实例才能使用。如果这不是一个选项,请调查SQL Server Compact Edition。此服务器的文件具有.sdf扩展名。我不知道您使用的是什么编程语言,但如果它是.NET的一种风格,SQL Server CE可以嵌入到您的应用程序中,并且不需要独立的服务器。 – Nik 2011-04-26 19:41:28

+0

如果您希望自己的数据库是独立的并且不需要服务器,请使用MS Access(\ *。mdb/\ *。accdb)或SQLite数据库。如果您需要使用用户名和密码保护您的数据库,请使用Access。 – 2015-10-02 17:38:07

4

不要部署MDF。让应用程序使用部署脚本并运行创建数据库的脚本以及创建数据库中所有对象的脚本。部署二进制文件(.MDF)的问题是您无法升级它。来1.1版的应用程序,你将面临如何部署你的密度板的困境,但保存你的用户保存在旧的.MDF中的所有数据。这不是一个微不足道的问题。 Red Gate试图推动其使用差异工具的contiguous integration solution生成维护/升级脚本。微软正在推出数据库项目,该项目的工作基于vsdbcmd工具所做的差异比较。我不是基于差异化工具的粉丝,他们很容易做出错误的决定,我更喜欢explicit upgrade scripts

在解决方案资源管理
+0

你说得对,工具可以做出糟糕的决定,因为他们不会再猜测用户的意图。在Red Gate,我们即将在SQL Compare中添加一项新功能,该功能允许用户自定义迁移脚本并将其保存为在跨越相同数据库版本的未来迁移中重用。有关更多信息,请联系red-gate.com上的david.atkinson。 – 2011-04-26 22:40:20

+2

是否有理由不在初始安装时部署mdf,然后使用脚本进行升级? – 2012-05-09 15:42:54

+0

您依赖于正确的版本,然后 - 使用初始脚本,该版本可以在客户端使用的任何版本上工作(当然,取决于您使用的任何版本特定功能)。 – 2012-05-31 18:28:56

0

右键点击你的项目

然后在新项目

然后选择服务基于数据库

创建一个数据库,并使用它