添加*.mdf文件到c#项目

本文关键字:项目 文件 mdf 添加 | 更新日期: 2023-09-27 17:54:08

我使用的是Visual Studio 2005。我创建了一个项目,不是Web项目,只是Windows应用程序。

我记得Access Database File可以添加到一个项目中。我不需要连接到服务器,数据可以检索。我想对SQL数据库文件做同样的事情。

我做了以下步骤:

  1. 右键单击项目。
  2. 选择添加现有项目
  3. 浏览*。mdf文件。
  4. 数据源配置向导出现并显示此消息

    从数据库中检索信息时发生错误:由于启动用户实例的进程失败,生成SQL Server的用户实例失败。连接将被关闭

我需要帮助添加mdf文件到我的项目。

添加*.mdf文件到c#项目

首先,MDF文件只能由SQL Server实例读取。如果部署mdf,那么应用程序必须在安装过程中连接到最终用户提供的SQL Server,或者必须部署自己的实例,在后一种情况下是SQL Server Express Edition实例。参见如何:安装SQL Server Express。在Visual Studio 2008中,您可以在自己的应用程序设置中添加先决条件MSI,请参阅"安装"SQL Server 2008 Express ClickOnce Bootstrapper for Visual Studio 2008 SP1。

第二个问题是,尽管人们普遍认为相反,只分配MDF而不分配LDF会让你陷入一个痛苦的世界。您最终可能会分发一个不一致的MDF,它需要LDF完成恢复并进入一致状态。

但是更严重的问题是您计划部署二进制文件(MDFs)而不是用于数据库部署的脚本。这注定要失败。一旦您计划发布应用程序的1.1版本,您将面临如何用新的MDF替换用户MDF(现在包含用户添加的数据)的重要问题。这就是为什么总是部署升级脚本,忘记项目中的MDF要好得多的原因。

您可以在应用程序中读取Access文件(*.mdb),而无需任何其他要求,因为Access使用的核心Jet引擎是作为Windows —它是内置的。Sql Server不包含在Windows中,因此不能使用*。除非Sql Server已经安装,并且你有适当的权限,否则在你的应用程序中使用mdf文件。

这是可能分发Sql Server Express Edition或Sql Server Compact Edition(推荐)与您的应用程序。另一个选择是SqlLite,它有一个完全管理的数据库引擎可用。

. mdf是sql server DB,不是MS Access。MS访问是. mdb。您不能单独读取。mdf文件。还需要一个日志文件(. ldf)。如果将它附加到本地实例,它将为您创建一个新的实例。然后您可以连接到该数据库。

要解决部署问题(.mdf文件和代码的更新版本),您可以在应用程序中使用一个实用程序,它可以创建应用程序中使用的每个表的.xls文件(备份数据库)。现在,您可以轻松地在SQL Server中导入这些.xls文件,并创建新版本的.mdf文件,并在最新代码中附加相同的文件。现在,您的应用程序的新版本准备部署…!