分享制作精良的知识管理系统 配置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…

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

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

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(…

一段代码认识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 &…

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

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

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){…

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

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

我的电脑 III

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

mybatis删除成功返回0_你还在用分页?试试 MyBatis 流式查询,真心强大!

转自&#xff1a;捏造的信仰segmentfault.com/a/1190000022478915基本概念流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器&#xff0c;应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。如果没有流式查询&#xff0c;我们想要从数据库取 1000…

C++程序设计--第三章内容

提前声明&#xff1a; 本文内容为华北水利水电大学研究生C课程&#xff0c;如有 侵权请告知&#xff0c;作者会予以删除 1.函数 函数作用 —— 任务划分&#xff1b;代码重用定义形式 类型 函数名 &#xff08; 形式参数表&#xff09;{语句序列}调用形式 函数名&#x…

Linux TCP server系列(5)-select模式下的单进程server

目标&#xff1a; 让服务器退化为单进程模式&#xff0c;但是利用select来提升性能 思路&#xff1a; &#xff08;1&#xff09;服务器 传统的单进程服务器一旦accept了客户端的TCP连接后&#xff0c;就转入客户请求的处理&#xff0c;处理完成后才能再一次的调用…

替换元素_80%的前端会答错的问题:lt;imggt;是什么元素?

前言某天晚上&#xff0c;和几个朋友去撸串&#xff0c;突然就聊到了面试&#xff0c;都在感叹现在的面试题太变态了&#xff0c;其中一个突然很神秘的问我&#xff1a;“你写前端这么久了&#xff0c;那你知道 <img> 是什么元素吗&#xff1f;”于是我结合平时写页面的经…

用指针变量访问数组

一维指针 地址值 a 相当于 & a[ 0 ] a 1 相当于 & a[ 1 ] a 2 相当于 & a[ 2 ] a i 相当于 & a[ i ] 元素值 a [ 0 ] * a a [ 1 ] 相当于 * ( a 1 ) a [ 2 ] 相当于 * ( a 2 ) a [ i ] 相当于 * ( a i ) 二维 用指…

Linux TCP server系列(6)-select模式下的多线程server

目标&#xff1a; 修改上一篇的select模式下的server&#xff0c;让它使用多线程来处理客户端请求&#xff08;多进程的模式已经在上篇中加了注释&#xff09;。 思路&#xff1a; &#xff08;1&#xff09;服务器 我们已经在之前的客户端模型多个并发用户的过程中使用过多线程…

单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...

《Perl-Tk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton》Perl-Tk中有三种不同形式的按钮组件可供选择&#xff0c;它们分别是按钮(Button), 复选按钮(Checkbutton), 和单选按钮(Radiobutton)&#xff0c;如下图所示&#xff1a;这三种按钮看起来是不同的&#…

好奇怪呀后面加什么标点_狗狗吃饭时奇怪的小动作,你知道代表什么吗?做个懂狗的好主人...

狗狗有时候因为一些奇怪的小行为&#xff0c;会让主人觉得很可爱。如果我们希望能够了解狗狗更多一些&#xff0c;那么我们需要透过它们的行为本身&#xff0c;去理解背后所代表的含义&#xff0c;才能和狗狗更亲密的交流。很多狗狗在吃饭的时候&#xff0c;也会表现出一些奇奇…

开机未发现nvidia控制面板_修改这几个选项,就能提升你的开机速度

最近电脑非常卡&#xff0c;有时真的想把它给砸了&#xff0c;慢的自己都受不了&#xff0c;开机几分钟&#xff0c;开机完还要等上好久才能运行软件&#xff0c;都快受不了&#xff0c;要不是看在已经是10前的买的电脑&#xff0c;早就问候产商了&#xff0c;电脑缓慢的开机速…