以编程方式编写脚本或迁移 SQL 压缩数据库以导入到 SQL 服务器

Programmatically script or migrate SQL Compact database for importing into SQL Server

我使用了 ErikEJ 的 SQLite/SQL 服务器紧凑型工具箱,它允许从紧凑型数据库迁移到 SQL 服务器,但我正在尝试将此过程实施到我的 ASP.NET 应用程序中。

用户将拥有一个已经完成的 SQL Server Compact 数据库。

过程将是

1) 用户选择数据库

2) 现有 SQL 服务器数据库将被删除

3) Compact数据库将scripted/migrated放入SQLServer

我不确定的部分是我应该如何编写脚本或迁移 SQL Compact 数据库。在服务器本身上删除和创建新数据库似乎很容易。我在 System.Data.SqlServerCe class 中研究了一段时间,不确定最好的方法是什么。

使用我的脚本API,你可以这样做:

using (IRepository ceRepository = new DB4Repository(@"Data Source=C:\Data\SQLCE\Test\nw40.sdf"))
{
  string fileName = Path.GetTempFileName();
  var generator = new Generator4(ceRepository, fileName);
  generator.ScriptDatabaseToFile(Scope.SchemaData);
  using (IRepository serverRepository = new ServerDBRepository4("Data Source=.;Trusted_Connection=true;Initial Catalog=Test"))
  {
      serverRepository.ExecuteSqlFile(fileName);
  }
}

在此处查看我的博客 post:http://erikej.blogspot.dk/2013/03/sql-server-compact-code-snippet-of-week_8.html

更完整的实现(来自我的工具箱)

https://github.com/ErikEJ/SqlCeToolbox/blob/master/src/GUI/SqlCe35Toolbox/Commands/SqlServerDatabaseMenuCommandsHandler.cs#L370