2013-02-27 96 views
1

目前,我们的应用程序使用SQL Server CE作为我们的数据库。由于规模和性能原因,我们决定向前迈进(如果我错了,请纠正我)到SQL Server 2012 Express。如何从C#代码将SQL Server CE迁移到SQL Server 2012 Express

我的问题:我们需要从SQL Server CE数据库迁移到2012年快递与所有SB属性(架构,索引,外键,数据...)

这种迁移应该在升级过程中进行用C#代码处理。

我们该怎么做?

回答

1

您可以使用我的脚本API将SQL CE数据库脚本编写到文件中,并针对SQL Server数据库运行该脚本(该示例需要一个空的服务器数据库,并且所需的SQL Server安全性已到位)

using ErikEJ.SqlCeScripting; 
using System;  
using System.IO; 

class Program 
{ 
    static void Main(string[] args) 
    { 
    try 
    { 

     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); 
       Console.WriteLine("Database exported"); 
      } 
     } 
    } 
    catch (Exception ex) 
    { 
     Console.WriteLine(ex); 
    } 
    Console.ReadKey(); 
    } 
} 
+0

谢谢,我可以在哪里找到你的脚本?你有一个例子吗? – Haimon 2013-02-27 21:23:47

+1

Exportsqlce.codeplex.com - 处理一些示例代码。 – ErikEJ 2013-02-28 06:56:49

相关问题