以编程方式编写脚本或迁移 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
更完整的实现(来自我的工具箱)
我使用了 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
更完整的实现(来自我的工具箱)