2010 三月 12. 19:55
博易的数据存储支持 XML 无数据库方式,也支持 SQL Server、MySQL、VistaDB 和 SQLite 等多种数据库。
这个方案实施起来非常容易,你只要创建一个你想要更换的新数据存储方式的配置,上面的博易数据复制工具将自动为你把当前数据存储方式下的数据复制到新更换的数据存储方式下。
一旦数据迁移完成,你将可以修改 web.config 中默认的数据存储方式为新更换的数据存储方式。
博易数据复制工具只会迁移如下数据:文章(含文章评论)、页面、后台配置、Ping服务、小部件(Widget)数据和一些扩展数据,用户数据是不会被迁移的,因此你可能需要自行建立用户帐号。
注意:实施这个方案可能需要你对 web.config 或数据库连接字符串有一些了解,如果你对这些完全不懂,请寻求专业人士的帮助。
实施具体步骤如下:
步骤1.备份数据,以防发生意外。请至少保留一份完整的程序和数据文件。
步骤2.请尽可能将你的博客程序升级到博易最新的版本(至少在博易v1.8以上)。
步骤3.配置 web.config 数据存储方式(请参考《
博易博客数据存储方式的Web.config配置》)。你需要在 BlogEngine\blogProvider\providers 中添加一个支持方式,即为你想要更换的新数据存储方式的配置。
步骤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_Data\Posts 和 App_Data\Pages 文件夹里面的文件。
步骤5.安装上面的博易数据复制工具,下载此工具压缩包并解压到博易程序所在目录的 admin\Pages 目录下。
步骤6.登录你的博客,根据博易数据复制工具页面所在的路径打开操作的页面。
步骤7.运行博易数据复制工具,在下拉列表中选择目标数据存储方式(这个列表就是你之前在步骤3中配置的)。点击按钮开始数据迁移。
步骤9.补充数据。如上所述,你需要重新建立博客的帐户信息,包括一些插件及小部件的数据。除此之外,恭喜你完成了博易博客数据存储方式的切换和数据迁移。
如果你在博易博客数据存储方式的切换上有任何问题,可以
联系我们。
2010 三月 11. 20:21
博易的数据存储支持 XML 无数据库方式,也支持 SQL Server、MySQL、VistaDB 和 SQLite 等多种数据库。下面将介绍如何下修改 Web.config,以配置博客数据存储方式。
打开 Web.config 我们可以找到
configuration\BlogEngine\blogProvider 节点。这就是配置数据存储方式的地方。
blogProvider 节点下还有
providers 节点,例如下面的配置表示存在两种数据存储方式—— XmlBlogProvider和DbBlogProvider。
[code:xml]
<providers>
<add name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/>
<add name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core" connectionStringName="BlogEngine" />
</providers>
[/code]
上面
type 表示其类型,如果是数据库类型则还会有
connectionStringName 表示数据库连接字符串的名称。这个 connectionStringName 只是一个名称,其值存在于
configuration\connectionStrings 节点下。例如下面的配置表示名称为 BlogEngine 的数据库连接字符串为 Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogYi。
[code:xml]
<connectionStrings>
<add name="BlogEngine" connectionString="Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogYi;" providerName="System.Data.SqlClient"/>
</connectionStrings>
[/code]
因此,如果在 providers 节点下配置了数据库作为数据存储方式,则一定要在 connectionStrings 节点下配置相应的数据库连接字符串;而如果没有用数据库作为数据存储方式,则可省去 connectionStrings 节点下的配置。
虽然博易支持多种数据存储方式,但是当前有效的数据存储方式是唯一的。上面介绍了如何配置各种数据存储方式,那么如何为当前有效使用的数据库存储方式呢?请找到 configuration\BlogEngine\blogProvider 节点。有属性 defaultProvider,该属性表示当前默认的数据存储方式名称,这个名称也就是上面 providers 节点里面配置的各项的 name 属性。如:
[code:xml]
<blogProvider defaultProvider="XmlBlogProvider">
[/code]
表示当前默认使用的数据存储方式为 XML 无数据库方式。
另外,对于MySQL、VistaDB 和 SQLite 等数据库存储方式,安装包中有相应的 web.config 文件,如果在这些文件的基础上配置,将会更加简单方便。
2010 三月 2. 19:47