为了尊重Z-BLOG的版权,暂不提供Access数据库,需要的请到Z-BLOG下载源代码包,并提取出其中的Access数据库文件。然后,可以按照下面的方法操作:
首先请去重新下载新版本的WSBLog,前几天发布的版本并不支持Access数据库。
http://www.wubuku.com/post/178.aspx
1、打开z-blog的数据库文件,修改blog_Category的结构,把cate_Order字段改为文本类型,并且,新增加几个字段:
cate_Code
cate_ParentID
cate_ParentCode
修改后的blog_Category表如下所示:
2、增加一个表blog_TagArticle,这个表用来保存Tag和文章的对应关系:
tag_log_ID
tag_ID
tag_Name
log_ID
log_Title
如图所示:
——数据库的修改完毕,将修改后的数据库重新上传至服务器WSBLog安装目录的的DATA子目录下。
3、修改Web.config文件,找到appSettings段,改成下面这个样子:
<appSettings>
<add key="dbType" value="Access" />
<add key="dataConn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\WSBLog\DATA\yangblog.mdb" />
<add key="blogRootUrl" value="http://localhost/WSBLog/" />
<add key="blogGuid" value="60E32840-F51D-4520-A8DE-4FEF627D5022" />
</appSettings>
——其中的“E:\WSBLog\DATA\yangblog.mdb”是你的Access数据在服务器上所在的物理路径。
如何知道你的Access数据库在服务器上的具体物理位置?
这需要通过IE浏览请求一下WSBLog目录下的DATA/test.asp文件。
比如,你的BLOG的URL是http://www.wubuku.com,那么,在IE的地址栏中输入http://www.wubuku.com/DATA/test.asp,就会显示出该test.asp文件在服务上所在的目录,比如显示为“E:\WSBLog\DATA\test.asp”,将test.asp替代为你的Access数据库名称即可。
接下来的设置和Sql Server就没有什么区别了,请参考下面文章:
http://www.wubuku.com/post/179.aspx
需要说明的是,目前WSBLog对Access的支持完全是通过ORM实现的。同时Sql Server和Access,只通过配置文件就可以切换。代码几乎没有做任何修改(之所以说“几乎”,是因为仅仅修改了两行读数据库类型配置的代码)。
如果你读WSORM的代码,就会发现WSORM仅仅通过增加了一个AccessSession类就解决了对Access的支持问题,该类和SqlSession一样实现了ISession接口。业务逻辑层存取数据库,只通过ISession接口操作。
WSBLog对Access的支持几乎没有任何问题。目前唯一的不足是:在“索引重建”的时候,比使用Sql Server比要慢很多。这是因为,Access是一个文件型数据库,频繁地打开和关闭数据库效率非常低(Sql Server有内置的连接池机制,不会有什么问题)。
目前的WSBLog,在索引重建的时候,会多次调用底层的业务类,而数据库的打开和关闭,目前是由业务类(通过ISession接口)调用的AccessSession自行控制的。这个地方的效率问题,目前还不好修改,需要留待以后优化。
事实上,WSBLog要支持Oracle也很简单,只是我懒得装Oracle进行测试罢了。