如何从 C# 代码将 SQL Server CE 迁移到 SQL Server 2012 Express
Posted
技术标签:
【中文标题】如何从 C# 代码将 SQL Server CE 迁移到 SQL Server 2012 Express【英文标题】:How to migrate SQL Server CE to SQL Server 2012 Express from C# code 【发布时间】:2013-02-27 14:53:48 【问题描述】:目前,我们的应用程序使用 SQL Server CE 作为我们的数据库。出于规模和性能的原因,我们决定继续使用 SQL Server 2012 Express(如果我错了,请纠正我)。
我的问题:我们需要将数据库从 SQL Server CE 迁移到具有所有 SB 属性(架构、索引、外键、数据...)的 2012 Express
此迁移应在 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();
【讨论】:
谢谢,在哪里可以找到您的脚本?你有例子吗? nuget.org/packages/ErikEJ.SqlCeScripting以上是关于如何从 C# 代码将 SQL Server CE 迁移到 SQL Server 2012 Express的主要内容,如果未能解决你的问题,请参考以下文章
从 C# 代码中使用 SQL Server CE 选择 @@ IDENTITY
在 SQL Server CE 和 C# 中获取新插入行的主键?
如何在 SQL Server CE 数据库中插入多行? [关闭]