0

我创建了代码优先方法应用程序 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?

4

1 回答 1

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 或更高版本,则可以使用ErikEJ 的 SQL Server Compact Toolbox 3.3.0.4迁移 sdf 的结构和数据,该工具箱可通过 Visual Studio 的 Extension Manager 获得。

安装 Toolbox 后,迁移步骤如下:

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

  2. 从上下文菜单中,选择Script Database > Script Database Schema and Data(不要选择Script Database Schema and Data with 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. 从那里,执行:

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

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

sqlcmd -S [sql server 实例名称] /d [目标数据库名称] -i [完整路径][文件名_0].sqlce -i [完整路径][文件名_1].sqlce -i [完整路径][文件名_2].sqlce

服务器选项 -S 必须是大写字母。祝你好运。

于 2013-04-08T18:36:08.230 回答