zoukankan      html  css  js  c++  java
  • 分享制作精良的知识管理系统 配置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
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    CREATE 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格式。

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

  • 相关阅读:
    React 不暴露webpack配置的情况下,修改webpack配置
    Array的一些方法
    ES 6 学习
    位运算解决“一个数组中,只有一个数字出现n次,其他数字出现k次”问题
    句子反转——牛客刷题(java)
    数串——牛客刷题
    链表分割——牛客剑指offer
    合并两个排序链表——牛客offer
    复杂链表的复制——牛客offer
    两个链表的第一个公共结点——牛客offer
  • 原文地址:https://www.cnblogs.com/JamesLi2015/p/2245296.html
Copyright © 2011-2022 走看看