从SQL Server到SQL Server Compact的转换工具

我前段时间写了《如何将数据导入到 SQL Server Compact Edition 数据库中》系列文章,介绍如何从SQL Server数据库到SQL Server Compact数据库的数据导入,吸引了不少人的目光。今天在CodeProject上看到一个很棒的工具,能够从SQL Server 7.0/2000/2005数据库直接生成SQL Server Compact 3.1/3.5数据库,生成的SQL Server Compact数据库包含源数据的主键、外键、索引和数据。



我简单看了一下它的核心代码,获取源数据库的Schema是用了SQL Server 2005的SQL Server Management Objects (SMO)实现的,有了Schema之后生成创建数据库的SQL脚本就不是难事了。

不过我在为SQL Server 2000自带的Northwind数据库生成相应的SQL Server Compact 3.5数据库时,有些表在复制数据库的时候出错,可能是没有处理好image类型的字段。为了兼容SQL Server Compact 3.1和3.5,用了反射技术来创建System.Data.SqlServerCe命名空间下的类型的实例。建议自己下载代码研究研究,我这里不再详细介绍了。

原文:SQL Server to SQL Server Compact Edition Database Copy Utility
SMO文档:http://msdn.microsoft.com/zh-cn/library/ms162169.aspx
posted @ 2008-04-30 21:05  黎波  阅读(3178)  评论(6编辑  收藏  举报