国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

OA系統(tǒng)與檔案管理系統(tǒng)數(shù)據(jù)交換的研究與實(shí)現(xiàn)

2010-08-07 08:20:58宋芬
關(guān)鍵詞:關(guān)系數(shù)據(jù)庫數(shù)據(jù)源語句

宋芬

蘇州大學(xué)網(wǎng)絡(luò)中心 江蘇 215021

0 引言

蘇州大學(xué)的OA系統(tǒng)是基于Lotus Domino平臺(tái)開發(fā)的,自 2000年一直運(yùn)行至今。雖然定時(shí)做一些數(shù)據(jù)的清理和整理工作,但幾年的運(yùn)轉(zhuǎn),數(shù)據(jù)不停的堆積,給系統(tǒng)硬件造成壓力的同時(shí)影響了系統(tǒng)的性能——文件檢索時(shí)間不斷延長、系統(tǒng)運(yùn)行速度不斷減慢。如此發(fā)展下去勢必會(huì)導(dǎo)致系統(tǒng)癱瘓。把歷史數(shù)據(jù)導(dǎo)出到檔案管理系統(tǒng)中,才能緩解OA系統(tǒng)的運(yùn)行壓力。蘇州大學(xué)的檔案管理系統(tǒng)——南大之星,該系統(tǒng)支持的后臺(tái)數(shù)據(jù)庫是 SQL Server,無法直接讀取 Lotus Domino的數(shù)據(jù),一般的做法是,工作人員手工把OA系統(tǒng)中的數(shù)據(jù)錄入到檔案管理系統(tǒng)中,可這樣做費(fèi)時(shí)費(fèi)力,還容易出錯(cuò)。因此需要開發(fā)OA系統(tǒng)和檔案管理系統(tǒng)之間的接口程序,方便、快速和準(zhǔn)確地收集OA中的數(shù)據(jù)。既能減輕OA服務(wù)器的壓力、確保OA系統(tǒng)的安全運(yùn)行,還能減輕檔案管理系統(tǒng)管理員的工作負(fù)擔(dān)。

1 關(guān)于Notes數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫的比較

Notes提供了一個(gè)文檔數(shù)據(jù)庫管理系統(tǒng)。所有的應(yīng)用都以數(shù)據(jù)庫的形式出現(xiàn),所處理的對象就是數(shù)據(jù)庫中的文檔。一般說來,先由應(yīng)用程序開發(fā)設(shè)計(jì)人員設(shè)計(jì)文檔(包括設(shè)計(jì)域、表單、視圖、文件夾、操作等),用戶則基于已有的設(shè)計(jì)創(chuàng)建文檔,并且按照定制的工作流程對文檔進(jìn)行處理。每個(gè)數(shù)據(jù)庫(.NSF文件)都可以包含不同格式和類型的文檔。

關(guān)系數(shù)據(jù)庫(RDB:Rational Database)是以二維表格及其關(guān)系作為數(shù)據(jù)模型的數(shù)據(jù)庫,表的每個(gè)行稱為一條記錄,每一個(gè)列稱為一個(gè)屬性(或字段),所有屬性名稱構(gòu)成的集合稱為關(guān)系模式。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和完整性約束三部分組成。將對象數(shù)據(jù)庫管理系統(tǒng)(ODBMS)定義為一個(gè)集成了數(shù)據(jù)庫能力與面向?qū)ο缶幊陶Z言能力的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。關(guān)系型數(shù)據(jù)庫通過SQL 語言訪問數(shù)據(jù),提供對數(shù)據(jù)的實(shí)時(shí)訪問,使用實(shí)時(shí)查詢來定位數(shù)。Notes數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫的比較總結(jié)如表1所示。

表1 關(guān)系數(shù)據(jù)庫與Notes數(shù)據(jù)庫比較

2 Lotus Domino與關(guān)系數(shù)據(jù)庫的互操作工具

在Notes應(yīng)用開發(fā)過程中,經(jīng)常需要實(shí)現(xiàn)Notes數(shù)據(jù)庫與其他關(guān)系型數(shù)據(jù)庫(如Oracle、Sybase、SQL Server、DB2等)的數(shù)據(jù)交換,為此Lotus公司推出了相關(guān)組件來完成Notes數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)之間高效、快速、可伸縮的批量數(shù)據(jù)交換,如 Notes Pump、LEI、 DECS和LS:DO等。

早期的 Notes Pump組件,它作為Lotus公司 Domino/Notes 系列產(chǎn)品之一,是一個(gè)企業(yè)級(jí)規(guī)模的數(shù)據(jù)分發(fā)服務(wù)器,它可實(shí)現(xiàn)RDBMS和Notes 數(shù)據(jù)庫之間數(shù)據(jù)的周期性復(fù)制,主、輔Domino服務(wù)器之間數(shù)據(jù)的及時(shí)和自動(dòng)的同步。數(shù)據(jù)的移動(dòng)可以是調(diào)度安排的,也可以是輪詢或手動(dòng)的,還可以被某個(gè)特定的條件所激發(fā)。是一個(gè)基于服務(wù)器的 32位多任務(wù)數(shù)據(jù)傳輸引擎。

LEI(Lotus Enterprise Integrator)是Notes Pump的后繼產(chǎn)品,利用LEI工具的連接及行為來實(shí)現(xiàn)NOTES與SQL數(shù)據(jù)庫的連接,實(shí)際上起到中間服務(wù)器的作用,它使不同數(shù)據(jù)庫通過它的connection及activity文檔來實(shí)行數(shù)據(jù)交換。

DECS(Domino內(nèi)置的企業(yè)集成服務(wù):Domino Enterprise Connect Services)是Lotus 公司開發(fā)的一種技術(shù)的名稱,提供了一個(gè)從Domino應(yīng)用到外部數(shù)據(jù)的深層次集成的連接性的方便使用的、基于表單的接口,在配置服務(wù)器的時(shí)候,需要選擇安裝 DECS。使用 DECS,開發(fā)人員擁有了一個(gè)不用編程的、模板化的應(yīng)用,使得外部數(shù)據(jù)源變成了Domino應(yīng)用的一部分。

Lotus Notes 為了方便與其他程序進(jìn)行數(shù)據(jù)接口,還提供了一套專門的擴(kuò)展類庫,即 Lotus Script Data Object (LS:DO),它是由 ODBC Connection,ODBC Query,ODBC resultSet 三個(gè)類組成的一個(gè)集合,提供對外部的 ODBC 數(shù)據(jù)的完全讀、寫訪問。它們提供了通過ODBC Version2.0 標(biāo)準(zhǔn)訪問和更新外部數(shù)據(jù)庫中的表的屬性和成員函數(shù)。

3 通過ODBC使用LotusScript訪問檔案管理系統(tǒng)數(shù)據(jù)庫

通過上面的介紹,我們可以看到,有多種方法可以實(shí)現(xiàn)Lotus數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫之間的互操作,在本文中,筆者通過ODBC連接SQL SERVER 數(shù)據(jù)庫,把OA系統(tǒng)中文檔的紅頭、文號(hào)、標(biāo)題、正文內(nèi)容、主題詞、抄送、抄報(bào)、發(fā)文單位、校對、附件等內(nèi)容傳輸?shù)綑n案管理系統(tǒng)的相應(yīng)字段中。

Lotus Notes使用ODBC標(biāo)準(zhǔn)存取異種數(shù)據(jù)庫信息。通過Notes里內(nèi)嵌的公式或Script語言,可以在Notes文檔中引入非Notes信息,可把現(xiàn)成的數(shù)據(jù)轉(zhuǎn)換成Notes數(shù)據(jù)庫。在存取外部數(shù)據(jù)之前,必須先定義一個(gè)數(shù)據(jù)源,以便讓ODBC驅(qū)動(dòng)程序管理器知道怎樣獲取數(shù)據(jù)。一個(gè)數(shù)據(jù)源把一個(gè)特定的ODBC驅(qū)動(dòng)程序和要存取的數(shù)據(jù)庫聯(lián)系在一起,并包括用戶想存取的數(shù)據(jù),它與服務(wù)器或目錄、后臺(tái)DBMS(數(shù)據(jù)庫管理系統(tǒng))以及網(wǎng)絡(luò)平臺(tái)相聯(lián)系。ODBC驅(qū)動(dòng)程序管理器負(fù)責(zé)將應(yīng)用程序的SQL語句以及其他的信息傳遞給驅(qū)動(dòng)程序,而驅(qū)動(dòng)程序則負(fù)責(zé)將結(jié)果集傳回應(yīng)用程序。

LSX兼容模塊允許用戶使用LotusScript語言來編寫存取外部數(shù)據(jù)的程序,在訪問ODBC類之前,需把下面的語句放置在(GLOBAL)對象的(OPTIONS)事件:

USELSX“*LSXODBC”

Notes的ODBCConnection、ODBCQuery、ODBCResultSet三個(gè)類為Notes提供了用ODBC標(biāo)準(zhǔn)存取外部數(shù)據(jù)庫的屬性和操作。ODBC Connection 用于連接到ODBC數(shù)據(jù)源;ODBC Query 用于定義一個(gè)SQL語句;ODBC ResultSet在結(jié)果集合上執(zhí)行操作的 ODBC的數(shù)據(jù)存取特性。使用 LotusScript Language 編寫公文歸檔程序?qū)z索數(shù)據(jù)寫入SQL Server 數(shù)據(jù)庫,程序中首先要?jiǎng)?chuàng)建訪問 ODBC的 3個(gè)類,然后使用ConnectTo函數(shù)連建立與SQL SERVER的連接,將標(biāo)準(zhǔn)查詢語句賦給qry.sql,然后和結(jié)果集相連,執(zhí)行函數(shù)result.execute查詢出表中最大的 ID值,為在表中新增記錄做準(zhǔn)備。部分代碼如下:

初始化與SQL SERVER相關(guān)變量:

建立與SQL SERVER的連接:實(shí)現(xiàn)增加新記錄,有一種簡單方法就是把組織好的insert語句賦值給qry.sql,然后執(zhí)行result.excute。在實(shí)際運(yùn)行過程中,大部分情況下可以正常運(yùn)行,但在處理某些公文時(shí)會(huì)出現(xiàn)missing argument的錯(cuò)誤提示。通過調(diào)試Lotus Script腳本并多次單步跟蹤腳本的執(zhí)行情況,發(fā)現(xiàn)當(dāng)插入內(nèi)容中包含單引號(hào)時(shí),就會(huì)出現(xiàn)這種錯(cuò)誤(一般公文中如果涉及到外國人的名字,則都會(huì)出現(xiàn)單引號(hào)),insert語句本身的單引號(hào)和插入內(nèi)容中的單引號(hào)產(chǎn)生了混淆。一種解決方法是使用函數(shù),把半角狀態(tài)下的單引號(hào)轉(zhuǎn)換成全角狀態(tài)的單引號(hào)。但函數(shù)往往對字符串的長度有限制,而很多公文多會(huì)超出這個(gè)限制。且這種在整篇公文中遍歷的查找相應(yīng)字符,然后再轉(zhuǎn)化的做法影響整個(gè)操作的效率。因此筆者采用的是另一種更可行和更高效的方法,用 addrow來增加新記錄。這種方法除了避開了單引號(hào)的問題,對于增加的每一個(gè)字段都非常的清晰,不會(huì)像insert語句那樣,把所有的內(nèi)容都組合在一個(gè)語句中。Addrow方法可讀性強(qiáng),不容易遺漏內(nèi)容,也便于增加或刪除需要處理的字段。代碼如下:

當(dāng)然除了這些操作之外,Notes還可以在本環(huán)境中對關(guān)系型數(shù)據(jù)庫進(jìn)行更多的操作。例如增加表、刪除表等。只需將相應(yīng)位置用相應(yīng)的SQL語句替換即可,可以用Create table來創(chuàng)建表,用INSERT,DELETE,UPDATE來更改表的內(nèi)容。

4 小結(jié)

用戶只需要在自己的計(jì)算機(jī)上安裝Lotus Notes6.5以上的客戶端軟件,創(chuàng)建好連接到SQL SERVER的ODBC數(shù)據(jù)源,使用本文中的公文歸檔程序,就可以輕松的把OA中的數(shù)據(jù)轉(zhuǎn)移到檔案管理系統(tǒng)中去。這不僅提高了設(shè)備管理的安全性、可靠性及工作效率,同時(shí)為設(shè)備管理者提供了快速的信息收集、傳遞和處理方法,方便了OA用戶與檔案管理人員之間的交流與合作。并且使得歷史公文信息可以更快的被用戶查詢。這對辦公自動(dòng)化系統(tǒng)與檔案管理系統(tǒng)具有十分重要的意義,使得辦公自動(dòng)化系統(tǒng)與檔案管理系統(tǒng)的功能不斷地強(qiáng)大,并為用戶提供更好更優(yōu)質(zhì)的服務(wù)。

[1] 蘭雨晴,晏海華,劉超,Lotus Domino/Notes群件技術(shù)教程[M].北京:機(jī)械工業(yè)出版社.2001.

[2] Notes數(shù)據(jù)庫--文檔數(shù)據(jù)庫探究[EB/OL]. http://tech.csai.cn/dbms/.

[3] Lotus愛好者論壇[EB/OL]. http://www.lotusfans.com/forum/.

[4] 崇大志,何軍.DOMINO應(yīng)用系統(tǒng)中異構(gòu)數(shù)據(jù)交換技術(shù)的研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù).2007.

猜你喜歡
關(guān)系數(shù)據(jù)庫數(shù)據(jù)源語句
關(guān)系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
山東冶金(2022年2期)2022-08-08 01:51:30
重點(diǎn):語句銜接
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
精彩語句
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索
如何搞定語句銜接題
分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計(jì)與實(shí)現(xiàn)
一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索方法
宜章县| 汉中市| 孟州市| 始兴县| 绍兴县| 毕节市| 吐鲁番市| 洪湖市| 安图县| 长寿区| 皮山县| 宁都县| 丹江口市| 甘孜县| 蛟河市| 洪泽县| 东乌珠穆沁旗| 巩义市| 得荣县| 通城县| 朝阳市| 尼勒克县| 贵南县| 肇庆市| 西平县| 苏州市| 南岸区| 缙云县| 大埔区| 安阳市| 平泉县| 兰考县| 波密县| 长乐市| 黔江区| 大名县| 柘城县| 韩城市| 伊吾县| 富川| 仲巴县|