使用.MDF文件部署VB.net应用程序(sql server 2008)+ ClickOnce

问题描述:

我想部署一个当前使用SQL Server 2008作为其数据库连接的VB.net应用程序。使用.MDF文件部署VB.net应用程序(sql server 2008)+ ClickOnce

我需要此应用程序能够包含其数据的副本,以便无论我安装应用程序,都无需安装SQL Express。

我一直在阅读的是我应该一直使用SQL Server Compact Edition来做到这一点。有没有什么办法可以使用.MDF文件来做到这一点?

如果没有,是否可以将.MDF文件转换为.SDF,然后将其包含在我的vb.net应用程序中?

谢谢你

SQL Server CE可重新发布。 SQL Server 2008不是。

更改为SQL Server CE的级别将取决于您是否使用过存储过程(可能是)。这通常不是微不足道的。

但是,SQL Server 2008 Express是从几个大小限制可再发行和*,并且除了在本质上是一样完全成熟的SQL Server 2008中值得注意的限制是:

  • 1 CPU插槽
  • 1 GB内存
  • 10%的数据库用户数据(R2版)的GB(以前是4GB)

如果将连接到一个CE应用程序的多个实例*服务器,那么你应该使用SQL Server 2008 Express。 SQL Server CE是内存中的进程内数据库,Express作为独立服务运行。

+0

方面谢谢米奇,这是非常基本的,没有存储过程。我会看看。 不幸的是,安装SQl Server 2008 Express不是一个选项:( – user679368 2011-04-19 00:16:59

+0

我试图做到这一点,以便他们只需要在他们的PC上安装应用程序并且数据库将自行安装。将没有连接到*服务器,并且将完全独立 – user679368 2011-04-19 00:25:48

可以将SQL CE部署在您的应用程序目录中,并且具有零前提的占用空间。

但是,从SQL Server迁移时,您必须记住您可能会遗漏一些您可能会或可能不会使用的好东西(例如存储过程和一些较新的数据类型)。根据您的数据访问框架,您还需要更改某个体系结构(例如,实体框架需要稍微修改的SSDL)。

在创建从SQL Server(快递)的模式(也许有些脚本数据)的SQL CE兼容的脚本,你可能看http://exportsqlce.codeplex.com/

+0

+1。一些优秀点 – 2011-04-19 00:28:13

+0

Mitch的答案完美地突出了一些其他重点考虑事项!SQL CE相当有限,但如果您的数据存储需求是基本的,那么它可能会诀窍,并可能有助于使您的应用程序更多一点自成一体。 – Reddog 2011-04-19 00:29:08

+0

非常感谢你的红狗,非常感谢你的洞察力。 – user679368 2011-04-19 00:32:59