如何将Oblog博客的内容转换到Z-BLOG

如何将Oblog博客的内容转换到Z-BLOG,第1张

概述网(LieHuo.Net)教程 现在喜欢用Z-BLOG,于是就在本机先搭建了一个平台,等完成以后发现在一个问题,原来是使用的OBLOG的程序.网上并没有这两个博客互转的合适例子,所以就头疼了一把,经过自己一翻努力,呵呵终于成功了(不过不带TAG的内容,这个太麻烦了),现在我就把自己的 *** 作方法说出来,大家按这个思路可…

内存溢出 jb51.cc 现在喜欢用Z-BLOG,于是就在本机先搭建了一个平台,等完成以后发现在一个问题,原来是使用的OBLOG的程序.网上并没有这两个博客互转的合适例子,所以就头疼了一把,经过自己一翻努力,呵呵终于成功了(不过不带TAG的内容,这个太麻烦了),现在我就把自己的 *** 作方法说出来,大家按这个思路可以根据自己的情况改造一下.
首先先把它这个的ACCESS数据库导到MS sql2000(或更高的版本中)中,如果没有你就自己写个ASP页面来处理吧,在导入完成后,就可以通过SQL语句来进行相互访问了.
这个是Z-BLOG主要的博客内容表(可以根据你自己想要的内容来增加):
SELECT LOG_CATEID,
       LOG_AUTHORID,
       LOG_LEVEL,
       LOG_Title,
       LOG_INTRO,
       LOG_CONTENT,
       LOG_IP,
       LOG_POSTTIME,
       LOG_VIEWNUMS,
       LOG_TAG,
       LOG_IStop
  FROM BLOG_ARTICLE

这个是你OBLOG的用户的博客内容(也可根据自己想要的内容来增加),记得查清你的用户编号,我想这个应该不难:
SELECT topIC,
       LOGTEXT,
       ADDTIME,
       TRUETIME,
       IIS,
       CLASSID,
       LOGTags,
       LOGTagsID,
       ABSTRACT
  FROM OBLOG_LOG
 WHERE USERID = 2

好了两个主表都找到了,接下来要做的就是看看你的这两个博客里的分类是不是一样的,如果不一样,你最好列举一下它们的对应关系以便后面的CASE语句中用,接下来就是主要的改造语句:
INSERT INTO
       BLOG_ARTICLE(
       LOG_CATEID,
       LOG_IStop)
SELECT CLASSID=
  CASE CLASSID
       WHEN 3 THEN 1
       WHEN 23 THEN 3
       WHEN 2 THEN 4
       WHEN 4 THEN 5
       WHEN 14 THEN 8
       WHEN 1 THEN 8
       ELSE 7
  END,
       1,
       4,
       topIC,
       ABSTRACT,
       '127.0.0.1',
       0
FROM OBLOG_LOG
WHERE USERID = 2

以上为我的转换的例子,因为两个博客建的栏目不一样,所以我用CASE转换了一下,大家可以根据自己的栏目内容编号进行修改
我的OBLOG用户编号为2.如果大家在转换中遇到什么问题可以进行沟通。

另外还有部分要修改的就是原来OBLOG中的下载地址和Z-BLOG中的地址是不同的,如果你网站直接是根目录就直接换成下面的就好,如果是http://www.XXX.com/blog/这样的目录,建议你还要修改一下下面的存储过程.
--SELECT LOG_ID FROM BLOG_ARTICLE WHERE LOG_CONTENT liKE '%UPLOADfileS/%'

--定义替换的字符串
DECLARE @S_STR VARCHAR(8000),@D_STR VARCHAR(8000)
SELECT @S_STR='"UPLOADfileS/' --要替换的字符串
,@D_STR='"/UPLOADfileS/' --替换成的字符串

--因为只能用PATINDEX,所以对于搜索字符串做处理
SET @S_STR='%'+@S_STR+'%'

--定义游标,循环处理数据
DECLARE @ID VARCHAR(500)
DECLARE #TB CURSOR FOR SELECT LOG_ID FROM BLOG_ARTICLE WHERE LOG_CONTENT liKE '%"UPLOADfileS/%'
OPEN #TB
FETCH NEXT FROM #TB INTO @ID
WHILE @@FETCH_STATUS=0
BEGIN
--字符串替换处理
DECLARE @P VARBINARY(16),@P1 INT,@P2 INT,@RPLEN INT,@STEP INT,@LEN INT

SELECT @P=TEXTPTR(LOG_CONTENT),@RPLEN=LEN(@S_STR)-2,@STEP=LEN(@D_STR),@P1=PATINDEX(@S_STR,LOG_CONTENT),@LEN=DATALENGTH(LOG_CONTENT),@P2=0 FROM BLOG_ARTICLE WHERE LOG_ID = @ID

WHILE @P1>0
BEGIN
SET @P2=@P1+@P2-1
UPDATETEXT BLOG_ARTICLE.LOG_CONTENT @P @P2 @RPLEN @D_STR
SELECT @P2=@P2+1,SUBSTRING(LOG_CONTENT,@P2+1,@LEN))FROM BLOG_ARTICLE WHERE LOG_ID = @ID
END

FETCH NEXT FROM #TB INTO @ID
END
CLOSE #TB
DEALLOCATE #TB

--显示结果
SELECT LOG_ID,LOG_CONTENT FROM BLOG_ARTICLE WHERE LOG_CONTENT liKE '%UPLOADfileS/%'
GO

好基本上的工作已经完成,至于以前的TAG内容,大家都想想办法吧,这个的确有点难.最后再到Z-BLOG中把文件重新建立一下,相关于重新生成HTML文件.一切都完成了去看你的博客吧!

总结

以上是内存溢出为你收集整理的如何将Oblog博客的内容转换到Z-BLOG全部内容,希望文章能够帮你解决如何将Oblog博客的内容转换到Z-BLOG所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/998315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存