之前做了一个Windows Mobile的项目,数据库用的是Sql CE。最近想移值到Android上,所以需要将数据库从SqlCE转成SQlite.
Google后,发现老外已经写了一个现在工具:Convert SQL Server DB to SQLite DB,非常好用,缺点是仅支持Sql Server 转Sqlite,没有支持SqlCe。现在问题就是如何将SqlCE转成Sql Server。
1. Sophisticated Database Conversion and Data Migration
这是我用的第一个工具,用的是试用版本,转换时没有发现什么问题,以为成功了,也没有做检查。直到开发时,程序报错了,才发现第6个以后的字段名和50行后数据被修改了,不得以只能放弃。
2. Web Matrix
2.1 创建一个Bekery站点
2.2. 将数据库文件copy到站点目录的App_Data下
2.3 转换数据库
Note:Matrix仅支持SqlCe 4.0,如果你的版本是3.5请先升级为4.0。升级可用 Tool to upgrade SQL CE database to SQL Server Compact 4.0
还可参考 http://erikej.blogspot.se/2010/08/how-to-upgrade-version-3x-database-file.html
3. SQL Server Compact Toolbox (强烈推荐)
这是一个Visual Studio的插件,Visual Studio 2010还需安装一下,Visual Studio 2012已经默认安装了,可以直接用了。
3.1 先连接目标的Sql Server 数据库
3.2 连接Sql CE数据库
同时推荐一个SqlCE的管理插件:
http://exportsqlce.codeplex.com/
参考:
http://erikej.blogspot.se/2012/02/migrating-databases-between-sql-server.html
http://erikej.blogspot.se/2010/02/how-to-use-exportsqlce-to-migrate-from.html