![](https://www.cnblogs.com/Emoticons/msn/tongue_smile.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6046749d6ed44c0f87663d01ed902a60.gif)
我简单看了一下它的核心代码,获取源数据库的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