基于trip数据库系统的电子文档的建库操作

上传人:wm****3 文档编号:42056839 上传时间:2018-05-31 格式:DOC 页数:7 大小:90.50KB
返回 下载 相关 举报
基于trip数据库系统的电子文档的建库操作_第1页
第1页 / 共7页
基于trip数据库系统的电子文档的建库操作_第2页
第2页 / 共7页
基于trip数据库系统的电子文档的建库操作_第3页
第3页 / 共7页
基于trip数据库系统的电子文档的建库操作_第4页
第4页 / 共7页
基于trip数据库系统的电子文档的建库操作_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于trip数据库系统的电子文档的建库操作》由会员分享,可在线阅读,更多相关《基于trip数据库系统的电子文档的建库操作(7页珍藏版)》请在金锄头文库上搜索。

1、EDBSEDBS 简介简介基于 TRIP 数据库系统的电子文档的建库操作Introduction to Creation of E-files DataBase System in TRIP 2009-12-04文本数据的大批量装入 TRIP 数据库问题, TRIP 系统已经提供有现成的 TDBS(Text DataBase System)解决方案,只要把待装入的数据生成 tform 格式的文本文件,然后,或则调用、运行load/loadix 程序,或则进入 TRIP 系统通过后台菜单操作,即可将大批的数据倒入进 TRIP 系统。对于电子格式文档(E-formatted Files) ,如 W

2、ord、PDF、PPT, TRIP 亦提供现成的开发平台TRIPview,据此用户可以开发出自己的电子文档数据库系统(EDBS) ,在把电子文档装入数据库的一个string 字段的同时,还将文档中的文字内容抽取出来放在一个文本 text 字段,进行倒排处理,以实现对全文内容的快速查找,并显示出原有的文件格式。利用 TRIPview 来建立用户自己的 EDBS 系统需要一定的开发量。若对原文的内容需要进行查找的应用,TRIPview 是最好的选择,目前它可以处理多达 220 多种格式的电子文档。如果对原文内容不需要进行查找(例如是 jpg、gif 等无文字内容的电子文件) ,亦即不需对原文件抽取

3、文字内容的情况,则不必用 TRIPview 而是利用 TRIPtoolkit 提供开发工具开发简单的应用程序,就可以将它们写进 TRIP记录中的 string 字段。下面介绍两种如何把电子文件写入 TRIP 数据库的方法,一种属于 B/S 方式,通过浏览器将一个或多个图片文件,一次一个记录的装进本地或远程的 TRIP 数据库,另一种是在 TRIP 服务器端(Server-side)批量的将文件写入 TRIP 数据库。前者通过 CGI(公共网关接口)程序调用TRIPtoolkit,后者直接访问 TRIP 底层,两者均用标准 C 语言开发,效率相当高。最后介绍如何利用CGI 程序对已有的记录,添加

4、新的电子文件或者替换旧有的的文件。数据库的字段约定数据库的字段约定(Conventions)与文字数据不同,一个电子文件存放在 TRIP 数据库记录中时,少则需两个字段多则需四个字段来描述。少则者一:存放文件名的词组 phrase 字段,二:存放全部文件内容信息的 string 字段。多则者第三:存文件大小的数值 int 字段,第四:存放从原格式文件抽取出来的文字内容的文本 text 字段。鉴于程序访问 TRIP 时往往是通过字段号来定位的,本文介绍的程序本文介绍的程序对上述的文件名字段、文件大小字段以及 string 字段的段号安排均作了如下约定:如果文件名字段号取 n 的话,文件大小字段号

5、则为 n+1,string 字段号则为 n+2。因此用户在利用本程序进行数据库字段设计时务必遵循这一约定,否则程序不能正常运行。对于已经有内容的数据库,如果字段顺序不符合本约定,必须预先把数据库设计改变过来,才能使用此处介绍的程序继续给 TRIP 数据库追加电子文档。至于原先的数据(假定还没有string 字段的数据) ,需要编写一个输出格式把它生成 tform 文件,然后再装入结构已经更新的数据库。一、一、B/SB/S 模式的模式的 EDBSEDBS 建库方法建库方法通过浏览器的上传表单和 Web 服务器上的 cgi 程序 upload,将本地数据(包括文字及二进制文件)装入 Web 服务器

6、所在的 TRIP 数据库。每次只能上传、建成一个记录。要做的准备工作是:制作上传表单;修改上传配置文件 upload.cfg;设置权限。1、制作上传表单制作上传表单上传表单是一个 HTML 文件,它可以从现用的上传文件复制、修改而成。它不仅用作录入数据的界面,即工作单,还用来控制上传的数据的走向,包括存入到库里的哪些字段,以及上传文件将存放在什么地方:是直接进入字段?还是存放在哪一个目录下。上传表单中有几行是专作上传控制用的,再有若干行作录入数据 用。命名命名 表单名最好与库名相同,这样给不同的数据库上传可采用不同的表单,实现各个库各自独特的设置要求。如上传的数据要写入 TRIP 的 bch

7、库,则上传表单名可定为 bch.html。该表单放在 web 服务器的文件根目录下(在 Linux Apach 服务器情况下,/www/html/ 往往被设置成 web 文件的根目录) 。如下以 bch.html 为例对上传表单作一简要说明。控制行控制行 带有“hidden”标签的 value 值,是控制上传行为用的:Base 值指定给哪个数据库上传,没有它则不知装给哪个数据库。DocRoot定义上传文件将存放的目录,后面一定要用斜线结尾,否则文件将放在上一个目录,而上传文件名字也将改变。如无DocRoot的内容,上传文件将放在 upload.cfg 设定的目录。WriteStr 这行设置上传

8、的文件要写进 TRIP 数据库的 STRING 字段,其 value 可不设定,只要有name=WriteStr 的这一行,上传来的文件就会写入 STRING 字段中。若无此行,文件将存放在前述(DocRoot 或 upload.cfg 中 root)指定的目录中,并不写入 TRIP 数据库。如果需要记录上传的时间,则需加上如下一行:其中,name=date 表示要把上传的时间记录在数据库中编号为 n 的字段,当然设计数据库时要设立这字段,其字段名可随意定,程序会自动把上传的时间写入 n 字段中。数据录入行数据录入行数据录入行将决定用户录入的数据将存到哪一个字段。录入的数据包括两种,一种是通过

9、屏幕直接录入到 TRIP 字段中的文字数据,这包括文本字段、词组字段、数字、日期、时间等,第二种是录入想要上传文件的文件名。文字数据字段录入行按照如下配置:字段的 name 必须是nf。此处 n 为数据库结构中该“字段名”的编号。注意这里并不用库中的字段名,而用字段号。在 TRIP 库中,一旦库结构被设计好后,字段名还是可以改变的,字段号就不能改。所以这里用字段号作 name。上传文件名字段的配置是:上述配置用于输写上传文件的文件名。上传文件在本地的路径及文件名将被上传到 TRIP 服务器,并存放在字段编号为 m 的 phrase 字段中。注意,上传表单的类型 file 和 TRIP 数据库的

10、字段类型不是一回事,前者,是告诉 HTTP 要用 file 传输协议,后者是 TRIP 数据库中存放上传来的文件名的字段。上传表单上的字段号 m 一旦被设定,将涉及到另外两个 TRIP 字段的设计。第一个是紧接着字段号 m 之后的 m+1字段,它用于存放文件的大小,字段数据类型需为数值 num 型。再下一个编号是 m+2 的字段,将存放上传文件的真正内容,类型为 STRING。在设计 TRIP 数据库结构时,上述三个字段的字段名可以随意设定,但字段的编号必须按照上述 m, m+1, m+2 的规则,这种约定是由上传程序 upload 规定的。上传表单(工作单)样例上传表单(工作单)样例假定制作

11、的表单要给 BCH 数据库的文字字段 1、2、3、4、5、6、9 写数据,还要上传原格式文件(文件名字段是 15), 那么设计成如下布局的表单即可:上述布局工作单的 html 代码如下:上传工作单 字段 1 字段 2 字段 3 字段 4字段 5 中文名称 简介 图片说明图片文件 2、修改上传配置文件修改上传配置文件 upload.cfgupload.cfg该文件放在 cgi-bin 的目录下,其名称必须和上传程序 upload 同名。亦即上传程序 upload 和配置文件 upload.cfg 是一一对应的,否则将出错。上传配置文件主要用来控制谁允许上传,上传数据放在什么地方,要不要把上传文件

12、写入 TRIP 数据库。内容如下:Config = DefaultRoot = /data/FileMask = *IgnoreSubdirs = YESOverWrite = yesWriteStrField = noOkPage = OkPage.htmlBadPage = BadPage.htmlDebug = 0IP = 168.160.111.111 中信所IP = 168.160.222.222 化工信息IP =此处也有 root 行和 WriteStrField 行。但它们只是上传表单的备用设置行,上传表单的设置优先。即上传表单已经设置过了的话,此处的设置则不起作用;上传表单上没

13、有设置,则用此处的值。Upload 程序要调用的 OkPage.html 和 BadPage.html 文件放在 cgi-bin 目录下。IP 行是控制上传工作站用的。只有此处列有的 IP 地址工作站才允许上传数据。如果从 cgi-bin 目录下的 upload 中考贝生成另外一个名为 upl 的程序,同样放在 cgi-bin 目录下,用来上传文件给 mybase 数据库,那么配置文件名应该取名 upl.cfg。上传表单的文件名改动与否均可,但其中的 程序名 upload 必须取名 upl,以便调用 upl 程序, 同时在中的 base 值应改为mybase,这是告诉 upl 要与数据库 my

14、base 打交道。3、权限设置此处涉及三个地方的权限设置。3.1 目录 上传程序首先将上传的文件存放在由上传表单中的 DocRoot 指定的磁盘目录下,或者是由 upload.cfg 配置文件中 root 指定的目录下,因此该目录必须对 web 程序执行者赋予写的权限,否则文件将存不下来。web 程序的执行者是谁,要有 httpd.conf 文件中的定义而定,例如httpd, nobody, apache 或者是对 web 程序的执行者所在的小组。3.2 数据库 上传程序用了名叫 tripnet 的 TRIP 用户去访存 TRIP 系统。因此用户要上传的目标数据库必须给 tripnet 授予写

15、的权限,否则上传的数据不会被 TRIP 系统接受。3.3 数据库文件 数据写入 TRIP 数据库是由 web 程序通过 TRIP 的授权用户 tripnet 进行的。web 程序执行者(如 httpd)或者它所属的小组必须能够对该数据库的三个文件有写的权限。否则由于 Unix 的写保护,录入的数据将写不进 TRIP 数据库中。上传 C 程序 upload.cupload.c 的关键语句的关键语句上传的数据分两部分,一是文字的、能用 ASCII 字符表示的,如各个字段的文字信息,包括上传文件名,文件大小等等,这些数据要形成 tform 格式,因为文字信息进入 TRIP 数据库最后都得通过 tfo

16、rm 文件的格式。另一部分是上传的文件,它将在服务器端临时存成一个文件。Tform 格式的文字信息要么用通过 TRIP 的菜单、要么通过系统命令 loadix 装入 TRIP 系统,或者通过程序写入。用 C 程序 upload.c 写入时,关键语句如下:TdbSetBase (rec_ctl, BaseName, 2); / 将数据库设置成可以写入TdbSetCursor ( / 把写指针指向整个记录TdbPutRecordBuffer (Cursor, TformBuf, BufLen, / 上面这一句将待写入的记录与将待写入的 tform 数据关联起来TdbSetCursor ( / 把写指针指向记录特定的 string 字段TdbImportBlob(Cursor, Path);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号