将sdf文件迁移到sql server

时间:2013-01-09 17:47:24

标签: asp.net-mvc-3 entity-framework ef-code-first ef-migrations

我创建了代码第一个方法应用程序mvc并创建了sdf文件db。现在我想将该sdf文件迁移到sql server。

当我双击sdf时,它会显示This is not a valid SQL Server Compact Database file or this file version is not supported by current SQL Server Compact Engine.

之类的消息

我想迁移,将数据同步到sql server的任何更好的方法以备将来使用,如何迁移db?

1 个答案:

答案 0 :(得分:1)

出现错误消息的可能原因是您没有在开发计算机上安装正确版本的SQL Server Compact。

当前版本为4.0,但您的应用程序可能仍在使用3.5。找出它是哪个版本并检查文件夹 C:\ Program Files \ Microsoft SQL Server Compact Edition 以查看是否存在具有该版本名称的目录。如果没有,请下载并安装它(3.54.0)。

如果您使用的是SqlCE 4.0和Visual Studio 2010 Pro或更高版本,则可以使用Visual Studio的Extension Manager提供的ErikEJ's SQL Server Compact Toolbox 3.3.0.4来迁移sdf的结构和数据。

安装工具箱后,迁移步骤如下:

  1. 使用工具箱连接到Visual Studio中的sdf文件。

  2. 从上下文菜单中,选择脚本数据库>脚本数据库架构和数据(不要选择脚本数据库架构和BLOBS数据)。这将保存一个或多个'.sqlce'脚本文件,具体取决于您的sdf的大小。

  3. 在SQL Server实例中,创建一个空目标数据库。

  4. 找到Sql Server安装的SQLCMD.exe。对于SQL Server 2008,它通常位于 C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn 。打开具有管理员权限的常规cmd.exe并导航到包含SQLCMD.exe的目录。

  5. 从那里执行:

  6.   

    sqlcmd -S [sql server instance name] / d [目标数据库名称] -i   [完整路径] [文件名] .sqlce

    如果你有多个sqlce文件,你可以在同一个命令中引用它们,如下所示:

      

    sqlcmd -S [sql server instance name] / d [目标数据库名称] -i   [完整路径] [filename_0] .sqlce -i [完整路径] [filename_1] .sqlce -i   [完整路径] [filename_2] .sqlce

    服务器选项-S需要是资本。祝你好运。