2005时做过一个小网站,当时是用ASP+Access做的,功能很简单,但里面的文章不少

现在就像把它转移到SS上来,重点就是如何导入文章

本来SS本身提供了批量导入功能,但对于在WEB上一次性导入一万多篇的情况,心理还是不踏实的

另外SS的导入功能没有字段对照,不清楚具体的模板是什么格式的,很怕出些什么问题

还是直接采用SQL的方式靠谱一些吧

首先,获取要导入站点的基础信息:

--查看站点列表
select * from siteserver_PublishmentSystem --查看指定站点的栏目列表
select * from siteserver_Node
where publishmentsystemId=<站点ID> --查看指定站点、指定栏目的文章列表
select * from siteserver_Content
where publishmentsystemId=<站点ID> and NodeId=<栏目ID>

然后,编写数据导入语句:

declare @title varchar(500)
declare @body varchar(8000)
declare @date datetime
declare @click int declare cpos cursor for select contentTitle, contentBody, createDate, clickNum from DB_old.dbo.m04 order by createDate
open cpos
fetch next from cpos into @title,@body,@date,@click
while @@FETCH_STATUS=0
begin insert into
siteserver_content(
NodeId, PublishmentSystemID, AddUserName, LastEditUserName, LastEditDate
, Taxis, ContentGroupNameCollection, Tags, SourceID, ReferenceID
, IsChecked, CheckedLevel, Comments, Hits, HitsByDay, HitsByWeek, HitsByMonth
, LastHitsDate, SettingsXML
, Title, SubTitle, ImageUrl, LinkUrl, FileUrl
, [Content], Summary, Author, Source, IsRecommend, IsHot, IsColor, ConsumePoint
, IsTop, AddDate
)
values(
<栏目ID>, <站点ID>, 'netwild', 'netwild', @date
, 1, '', '', 0, 0
, 'True', 1, 0, @click, 0, 0, 0
, @date, 'titleformatstring=False_False_False_&consumepoint='
, @title, '', '', '', ''
, @body, '', '', '', 'False', 'False', 'False', 0
, 'False', @date
) fetch next from cpos into @title,@body,@date,@click
end
close cpos
deallocate cpos

还需要更新一下栏目的文章数量统计:

--更新栏目统计
update node
set node.contentNum=(select count(*) from siteserver_Content as c where c.PublishmentSystemID=node.PublishmentSystemID and c.NodeId=node.NodeId)
from siteserver_Node as node
where node.publishmentsystemId=<站点ID>

最后,在SS的管理控制台中,清除缓存就OK啦!

[原创] SiteServer 3.5 批量导入文章的SQL处理脚本的更多相关文章

  1. 使用mysql的source批量导入多个sql文件

    需求: 有一个文件,文件里面包含100多个sql文件,想要把这些sql文件都导入到mysql中 做法: 使用 mysql 的 source 可以将文件导入到 mysql 中,但是一次只能导入一个 sq ...

  2. Mysql批量导入多个sql文件

    DB_edusuntk文件夹下有2000多个个sql备份文件,如何批量导入?首先新建一个main.sql,然后在main.sql文件里面这么写: source C:/sql/1.sql; source ...

  3. 批量导入oracle 的sql脚本

    以下为脚本样例:execute.sql,在PL/sql的command窗口或sqlplus中执行:@目录/execute.sql (以下“目录”需要替换为实际sql所在目录) --执行前需要在目录下新 ...

  4. 那些年我们爬过的山 - mybatis批量导入

    [原创作品,转载请注明出处] 写这篇文章之前想着给这篇博客起一个文艺一点的标题,思来想去,想到了那些年我们爬过的山,或者我们一起趟过的河?代码不规范,同事两行泪,这是多么痛的领悟啊! 背景 本组一名实 ...

  5. 【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)

    今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...

  6. Shp数据批量导入Postgresql工具的原理和设计

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在制作整体的开源工具箱产品中,数据入库是一个重要的环节.虽然 ...

  7. [Django]网页中利用ajax实现批量导入数据功能

    url.py代码: url(r'^workimport/$', 'keywork.views.import_keywork', name='import_keywork') view.py代码: fr ...

  8. [diango]批量导入不重复数据

    去年研究导入数据的时候写了一个批量导入数据的脚本,但有个问题,如果导入这批数据在数据库中已经存在,那么我们导入的数据不就重复了么,本文就讨论如何解决这个问题? 程序如下: #coding:utf-8 ...

  9. 订餐系统之Excel批量导入

    批量导入现在基本已经成为各类系统的标配了,当前,我们订餐系统也不例外,什么商家呀.商品呀.优惠码之类的,都少不了.毕竟嘛,对非开发人员来说,看到Excel肯定比看到很多管理系统还是要亲切很多的.这里, ...

随机推荐

  1. HDU 5701 ——中位数计数——————【思维题】

    中位数计数 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  2. 行内元素的margin只能左右有效。上下无效。

    行内元素的margin只能左右有效.上下无效.

  3. PLC编程逻辑思路

    PLC编程逻辑思路 在整个执行过程的流程中,都是在不断地找启动条件,停止条件以及输出结果.当条件不够时,就得想办法如果添加标志位,根据已有条件去构造条件:当结果开发耦合时,就制造中间继电器去除耦合. ...

  4. OC与JS交互之JavaScriptCore

    JavaScriptCore提供了JavaScript和Objective-C桥接的Obj-C API.JavaScriptCore提供了让我们脱离UIWebView执行JavaScript脚本的能力 ...

  5. explode 把字符串打散为数组

    // 显示的字段列表 $smarty->assign('field_show', explode(',',$list_name)); explode(separator,string,limit ...

  6. invalid stream header: EFBFBDEF 问题解决

    我们项目使用report 报表功能,然后在加载xxxx.jasper文件时候报的invalid stream header: EFBFBDEF 的错误 public JasperPrint fill( ...

  7. java TreeSet 实现存自定义不可重复数据

    本文主要是介绍一下java集合中的比较重要的Set接口下的可实现类TreeSet TreeSet类,底层用二叉树的数据结构 * 集合中以有序的方式插入和抽取元素. * 添加到TreeSet中的元素必须 ...

  8. IIS 网站发布——遇到的问题,以及解决方案

    在 解决方案——Web 右键  发布  如图:   之后,在其他文件夹或盘  放入发布之后 生成的文件 如图所示,之所以这样是为了好整理查找发布的项目.   之后,在IIS 上发布出去     首先 ...

  9. 动态赋值poster,无法显示

    vue操作video的poster属性时,动态给poster赋值,在chrome下是无法显示的 解决办法 在赋值后,找到video元素.load()下就会看到封面图了

  10. 2-1 Sass的控制命令

    @if @if 指令是一个 SassScript,它可以根据条件来处理样式块,如果条件为 true 返回一个样式块,反之 false 返回另一个样式块.在 Sass 中除了 @if 之,还可以配合 @ ...