BlogEngine.NET-博易

博易,简易而不简单。致力于打造专业博客!

博易博客数据存储方式的切换和数据迁移解决方案

By

博易的数据存储支持 XML 无数据库方式,也支持 SQL Server、MySQL、VistaDB 和 SQLite 等多种数据库。

下面将介绍一种切换博易数据存储方式的解决方案,该方案将帮助你在 XML、SQL Server、MySQL、VistaDB 和 SQLite 方式之间进行切换,并完成数据的迁移。 
辅助工具:博易数据复制工具,BlogYiBlogMigration.zip (3.83 kb)。 
这个方案实施起来非常容易,你只要创建一个你想要更换的新数据存储方式的配置,上面的博易数据复制工具将自动为你把当前数据存储方式下的数据复制到新更换的数据存储方式下。
一旦数据迁移完成,你将可以修改 web.config 中默认的数据存储方式为新更换的数据存储方式。 
博易数据复制工具只会迁移如下数据:文章(含文章评论)、页面、后台配置、Ping服务、小部件(Widget)数据和一些扩展数据,用户数据是不会被迁移的,因此你可能需要自行建立用户帐号。 
注意:实施这个方案可能需要你对 web.config 或数据库连接字符串有一些了解,如果你对这些完全不懂,请寻求专业人士的帮助。
 
实施具体步骤如下:
步骤1.备份数据,以防发生意外。请至少保留一份完整的程序和数据文件。 
步骤2.请尽可能将你的博客程序升级到博易最新的版本(至少在博易v1.8以上)。 
步骤3.配置 web.config 数据存储方式(请参考《博易博客数据存储方式的Web.config配置》)。你需要在 BlogEngineblogProviderproviders 中添加一个支持方式,即为你想要更换的新数据存储方式的配置。 
步骤4.清空新数据存储方式的数据。(请注意,是情况即将迁入数据的存储方式下的数据,而不要将源数据存储方式下的数据清空了。) 
如果新数据存储方式是数据库方式,则你可能需要对数据库执行下面SQL语句:
[code:tsql]
DELETE FROM be_PostCategory;
DELETE FROM be_PostComment;
DELETE FROM be_PostNotify;
DELETE FROM be_PostTag;
DELETE FROM be_Posts;
DELETE FROM be_Categories;
DELETE FROM be_Pages;
DELETE FROM be_Settings;
DELETE FROM be_PingService;
[/code]
如果新数据存储方式是非数据库方式,则你只需要删除 App_DataPosts 和 App_DataPages 文件夹里面的文件。 
步骤5.安装上面的博易数据复制工具,下载此工具压缩包并解压到博易程序所在目录的 adminPages 目录下。 
步骤6.登录你的博客,根据博易数据复制工具页面所在的路径打开操作的页面。 
步骤7.运行博易数据复制工具,在下拉列表中选择目标数据存储方式(这个列表就是你之前在步骤3中配置的)。点击按钮开始数据迁移。 
步骤8.修改 web.config 中默认的数据存储方式为新的数据存储方式(请参考《博易博客数据存储方式的Web.config配置》)。打开博客,检查数据是否正常(和迁移之前一样)。如果正常,则可以清除旧的数据了。 
步骤9.补充数据。如上所述,你需要重新建立博客的帐户信息,包括一些插件及小部件的数据。除此之外,恭喜你完成了博易博客数据存储方式的切换和数据迁移。
 
如果你在博易博客数据存储方式的切换上有任何问题,可以联系我们

One Comment

  1. chenghy
    August 1, 2011 at 3:57 pm

    你好!我想问一下数据迁移过程中!
    string providerName = "SQL";//DdlProviders.SelectedValue;
    BlogProvider convertTo = BlogService.Providers[providerName];
    我要转程MSSQL2000,那么providerName的值应该是什么呢??我把上面文章中的页放到程序中,
    控件DdlProviders没有绑定值!
    希望你能帮我解答一下!谢谢!

Leave a Reply