分享制作精良的知识管理系统 配置SQL Server文档数据库 完美实现博客文章的的下载,存储和浏览...

前一篇文章《分享制作精良的知识管理系统 博客备份程序 Site Rebuild》已经提到如何使用Site Rebuild来下载您所喜欢的博客文章,但是还不能实现把下载的文件导入进数据库中,无法实现在线浏览服务器中的文档数据。这一篇文章则帮助您建立文档数据库,现博客文章的的下载,存储和浏览。

打开Data Loader程序,执行Setting程序,打开的界面效果如下

image

点击ConnectionString后面的按钮,填写正确的数据库配置,如下所示

image

如下图所示,点击OK,返回主程序窗体。

 

打开SQL Server数据库管理程序,新创建一个名称为Document的数据库,运行下面的SQL 脚本以创建表结构

/****** 对象:  Table [dbo].[CATEGORY]    脚本日期: 11/04/2011 10:27:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CATEGORY]([RECNUM] [int] IDENTITY(1,1) NOT NULL,[NAME] [nvarchar](200) NULL,CONSTRAINT [PK_CATEGORY] PRIMARY KEY CLUSTERED 
([RECNUM] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]/****** 对象:  Table [dbo].[DOCUMENT]    脚本日期: 11/04/2011 16:46:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DOCUMENT]([RECNUM] [int] IDENTITY(1,1) NOT NULL,[SUBJECT] [nvarchar](2000) NULL,[BODY_TYPE] [nvarchar](50) NULL,[BODY] [ntext] NULL,[CREATE_DATE] [datetime] NULL,[CATEGORY] [int] NULL,[CREATE_BY] [nvarchar](50) NULL,[COMPUTER] [nvarchar](200) NULL,[PATH] [nvarchar](2000) NULL,CONSTRAINT [PK_DOCUMENT] PRIMARY KEY CLUSTERED 
([RECNUM] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]/****** Object:  Table [dbo].[SETTINGS]    Script Date: 11/07/2011 00:04:28 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOCREATE TABLE [dbo].[SETTINGS]([RECNUM] [int] IDENTITY(1,1) NOT NULL,[DOWNLOADED_PATH] [nvarchar](800) NULL,[CONNECTION_STRING] [nvarchar](800) NULL,[FAILED_CLEANUP_FILE] [nvarchar](400) NULL,CONSTRAINT [PK_SETTINGS] PRIMARY KEY CLUSTERED 
([RECNUM] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]GO
INSERT dbo.SETTINGS( DOWNLOADED_PATH ,CONNECTION_STRING ,FAILED_CLEANUP_FILE)
VALUES  ( 'G:\Document', -- DOWNLOADED_PATH - nvarchar(800)NULL , -- CONNECTION_STRING - nvarchar(800)NULL  -- FAILED_CLEANUP_FILE - nvarchar(400))

最后一句的脚本,是为了创建配置数据选项。再次打开Setting程序,会显示出这个表的内容。

这就是所需要做的所有动作,按照前一篇文章的介绍,你可以很容易的达到下面的效果

image

截图中的文章取自TerryLee的设计模式系列,成一个体系,放在一起阅读,很方便。

 

请到epn.codeplec.com(http://epn.codeplex.com/releases/view/68647)中下载最新的Data Loader程序,以体验离线阅读博客文章。所有的文章和数据文档都在您自己的电脑中,您可以对它进行编辑,加工,提炼,学习。

到目前为止,Data Loader还需要改善的地方

1 通常一篇文章中会带有一小段代码下载,自动下载文档的同时,也希望可以下载到它的附件。

2 增强搜索能力,创建新的Index Builder程序,以适应在海量的文档数据库中搜索您需要的文档。

3 文档的下载,导入,需要增加进度条(Progress Bar)以显示当前状态,这样界面会友好一些。

4  在分析,下载和导入各个模块中,增加多线程处理能力,以提高处理速度。

5  增加新的应用,比如PPT下载,以搜索好的PPT数据资料。Image Download是用于下载网站中的图片,比如,经常看到一些做的非常好的界面效果图,于是就想到这个批量方式来获取这些数据,以集中研究UI设计。

6 压缩与解压缩处理。相同内容的文章,RTF格式一般是DOC格式三到四倍的尺寸大小,导致RTF格式比较消耗硬盘空间。以我的本机为例,2723个DOC文档,一共是745MB,而RTF格式则达到5G,存到数据库中,数据库的尺寸增加达到8G左右。需要对文档作压缩处理,处理思路是使用我们熟悉的ICSharpCode.SharpZipLib.dll和zip格式。

 

希望对你有帮助,欢迎提出宝贵意见。

转载于:https://www.cnblogs.com/JamesLi2015/archive/2011/11/11/2245296.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python绘制敏感性和特异性曲线(交叉)

示例 代码如下 test_fpr, test_tpr, test_thresholds roc_curve(y_test_two, dataset_blend_test_pred, pos_label1) test_roc_auc auc(test_fpr, test_tpr) plt.plot(test_thresholds, 1-test_fpr, labelspecificity) plt.plot(test_thresholds, test_tpr, labelsensitivit…

python迭代器创建序列_Python 中迭代器与生成器实例详解

Python 中迭代器与生成器实例详解本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下:1.手动遍历迭代器应用场景:想遍历一个可迭代对象中的所有元素,但是不想用for循环…

一个网络资深者发起的思考

陈硕 (giantchen AT gmail) blog.csdn.net/Solstice 前几天我在新浪微博上出了两道有关 TCP 的思考题,引发了一场讨论 http://weibo.com/1701018393/eCuxDrta0Nn 。 第一道初级题目是: 有一台机器,它有一个 IP,上面运行了一个 TCP…

The Ransom of Red Chief

We can kidnap someone here. Who? Theres nobody rich in this town. The richest man in town, of course. Kidnap      绑架 rich         富 trouble      麻烦 Im not having a nice day. How much money have we got? Only two hundred dollars. Ra…

C++课堂整理--第一章内容

提前声明: 本文内容为华北水利水电大学研究生C课程,如有 侵权请告知,作者会予以删除 1.C特点 1.历史悠久。2.应用广泛。3.兼容c。4.面向对象。5.适合编写系统程序。6.有助于理解计算机的工作过程,深入理解计算机的原理和概念 …

oauth2 access_denied 不允许访问_OAuth 2 是什么-入门介绍

OAuth 2是什么OAuth 2是一个可以通过浏览器,手机等多种设备进行安全授权的一个标准简单的开源协议。随着互联网的兴起以及普及,越来越多的应用出现在用户的面前。这些应用大部分都是相对独立的以及由不同的公司进行运营的。不同的应用也保存了不同的数据…

基于TCP协议的网络程序(基础学习)

下图是基于TCP协议的客户端/服务器程序的一般流程: 图 37.2. TCP协议通讯流程 服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect(…

云谊网-赴日人才社交网络

云谊网是为已赴日和准备赴日从事IT工作的人才提供经验交流的的社交网络平台,在这里您可以拓展人脉、发现机遇、推荐职位、分享知识。网址:http://club.sinowell.net/ 全国各IT领军城市软件和服务外包QQ群(ITO、BPO、HRO) 群描述:IT公司之间的…

一段代码认识C++中const不同位置的用处

#include<iostream> using namespace std ; int main () { const int A 78 ;const int B 25 ;int C 13 ;//---------const在数据类型前-------------------- const int *pi &A ;//*pi 56 ;// 错误, 不能修改所指常量。此时*pi指向的是常量A。 pi &…

怎么形容智能冰激凌机器人_有关于形容描写冰激凌的句子及图片

1、我拿出冰淇淋&#xff0c;隐隐约约的看见淡黄的雪梨果肉和黑乎乎的巧克力豆。嗯&#xff0c;牛奶的香醇中又夹杂着雪梨的清甜和巧克力的浓香&#xff0c;味道好极了。2、冰淇淋上面有各种各样颜色&#xff0c;有红的、黄的、紫的……真像一个八宝饭。3、冰淇淋的形状看上去像…

wcf系列学习5天速成——第五天 服务托管

今天是系列的终结篇&#xff0c;当然要分享一下wcf的托管方面的知识。 wcf中托管服务一般有一下四种&#xff1a; Console寄宿&#xff1a; 利于开发调试&#xff0c;但不是生产环境中的最佳实践。 winform寄宿&#xff1a; 方便与用户进行交互&#x…

SELECT的学习以及在socket中的应用

Select在Socket编程中还是比较重要的&#xff0c;可是对于初学Socket的人来说都不太爱用Select写程序&#xff0c;他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序&#xff08;所谓阻塞方式block&#xff0c;顾名思义&#xff0c;就是进程或是线程执行到这…

python钻石数据分析_数据分析该用什么工具?

数据分析的软件很多&#xff0c;完整的数据分析一般分为数据收集、处理、分析和展现四个步骤。下面分别介绍一下过程中每个步骤使用到的工具。Excel微软办公套装软件的一个重要的组成部分&#xff0c;它包含数据的基本处理&#xff0c;函数计算&#xff0c;数据透视表和VBA等多…

ASP.NET MVC Music Store教程(2):控制器

ASP.NET MVC Music Store教程&#xff08;2)&#xff1a;控制器 转自http://firechun.blog.163.com/blog/static/3180452220110272197830/在传统的Web架构中&#xff0c;URL总是映射到磁盘上的文件。例如&#xff1a;一个类似于“/Products.aspx”或“/Products.php”的URL可能…

C语言:利用泰勒级数计算sinx的值

题目&#xff1a; 代码&#xff1a; #include<stdio.h> #include<math.h> int main(){int sign1,n1;double x3,term,a,sinx0;//scanf("%lf",&x);termx;while(fabs(term)>0.00001){sinxsign*term;nn2;apow(x,n);double b1;for(int i1;i<n;i){…

搞IT也不能不懂“五险一金”啊

养老保险&#xff1a; 一般要交满15年&#xff0c;到退休的时候才能终生享受养老金, 所以想拿养老金的人请务必在自己退休前15年就开始交。如果到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全 部退给你。那单位给你交的21%到哪里去了?…

DecExpress 帮助网站

官方地址&#xff1a;http://devexpress.com 官方下载地址&#xff1a;http://downloads.devexpress.com/8981e647-2ebc-4bd4-b50c-15ca357a62e2/0.0.0.0/DXperience/2011.1/5/DXperienceUniversal-11.1.5.exe 破解地址&#xff1a; smartsoft论坛&#xff1a; http://smartsof…

elementui获取所有树节点_element-ui tree获取子节点全选的父节点信息

公司服务升级确定了新的架构&#xff0c;假如当前部门是二级部门&#xff0c;二级部门下的三级部门全部已选择&#xff0c;那么后端接口要求只需要传二级部门的id&#xff0c;并且操作符传参为 like&#xff1b;如果某一个部门已选择&#xff0c;切父级部门没有选择&#xff0c…

C++课堂整理--第二章内容

提前声明&#xff1a; 本文内容为华北水利水电大学研究生C课程&#xff0c;如有 侵权请告知&#xff0c;作者会予以删除 1程序控制结构 语句是程序的基本语法成分。程序设计语言的语句按功能可以分成三类&#xff1a;声明语句 指示编译器分配内存&#xff0c;或者提供程序…

我的电脑 III

耳机用的是飞利浦的&#xff0c;和上学那时候的差不多 老的那个睡觉的时候压碎了&#xff0c;我胖了 然后去找音箱 网店&#xff0c;专卖店&#xff0c;电脑城&#xff0c;走了一遍又一遍 没个看的上的 一个月以后&#xff0c;终于决定买飞利浦那个了 白色的&#xff0c;和整个…