目前,我们的应用程序使用 SQL Server CE 作为我们的数据库。出于规模和性能的原因,我们决定继续使用 SQL Server 2012 Express(如果我错了,请纠正我)。
我的问题:我们需要将数据库从 SQL Server CE 迁移到具有所有 SB 属性(架构、索引、外键、数据 ...)的 2012 Express
此迁移应在 C# 代码中处理的升级过程中执行。
我们该怎么做?
目前,我们的应用程序使用 SQL Server CE 作为我们的数据库。出于规模和性能的原因,我们决定继续使用 SQL Server 2012 Express(如果我错了,请纠正我)。
我的问题:我们需要将数据库从 SQL Server CE 迁移到具有所有 SB 属性(架构、索引、外键、数据 ...)的 2012 Express
此迁移应在 C# 代码中处理的升级过程中执行。
我们该怎么做?
您可以使用我的脚本 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();
}
}