999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Domino/Notes與關系數據庫的通用接口設計

2008-12-31 00:00:00胡愛軍向鳳紅
電腦知識與技術 2008年27期

摘要: 該文介紹了Lotus Domino/Notes與關系型數據庫的一種通用連接方法。通過在瀏覽器端的動態配置,提取關系型數據庫中的數據,可以協助開發人員或系統管理員在WEB方式下實時地發布信息。

關鍵詞:動態接口;Lotus Domino/Notes;RDBMS;ODBC

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)27-1879-02

The Designing of General Purpose Interface Between Domino/Notes and RDBMS

ZHAO Lei1, HU Ai-jun1,2, XIANG Feng-hong1

(1.Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650051,China;2.Yunnan Copper CO.,Ltd.,Kunming 650102,China)

Abstract: This paper introduces a general purpose interface between Domino/Notes and RDBMS. The designers and administrators can dynamically get data in RDBMS and issue information based on WEB by configuring in the browser.

Key words: general purpose interface; Lotus Domino/Notes; RDBMS; ODBC

1 前言

隨著計算機技術和通訊技術的不斷發展、完善,各種信息系統得到廣泛應用。在這些系統中,如信息管理系統(MIS)、企業資源計劃系統(ERP)、客戶關系管理系統(CRM)等系統大多基于關系型數據庫,難以處理非結構化數據,如表格、文本和多媒體信息等;而基于Domino/Notes為開發標準辦公自動化系統,擅長處理工作流和非結構化數據,但對數據的分析、統計能力較弱[1]。

因此,設計人員需要設計二者的接口程序以便結合二者優點實現企業的信息共享。出于實際需要,企業往往先開發基于關系型數據庫的信息系統后設計辦公自動化系統,所以接口是Domino/Notes開發環境下設計的。這個過程中,這種接口只針對某一具體的關系數據庫、數據庫中的某個表及表中某幾個字段設計報表。如果要分別提取多個關系數據庫中的數據則要重新設計程序。除此以外,如果在開發過程中發生需求變更或者進行系統升級,設計人員需根據所變化數據的內容再次編寫代碼并調整報表內容。

如此程序缺乏可移植性,造成大量的人力、物力的浪費。在解決上述問題中,作者基于Domino/Notes環境,構造一個適用于不同關系數據庫接口并使之能夠根據用戶的需求由用戶靈活定義獲取數據內容。

2 接口設計

2.1 設計思路

該接口能夠讓用戶在瀏覽器端自行選擇數據庫,并按照選中的數據庫提取其中的表及其相關的多個字段名。通過這些信息的靈活選擇,用戶能夠在一個指定文檔的RTF域中生成一個動態的報表。由此,該接口滿足了隨用戶業務發生變化報表也跟隨發生變化的要求。

2.2 Domino/Notes與關系數據庫連接的方法

Domino/Notes與關系數據庫的連接一般可分為用可視化工具連接或編程連接。可視化工具通常有LEI(企業連接器)、DESC(Domino企業連接服務)等[1]。然而結合企業的實際情況,應用這些工具需要再次投入資金和人力,并且在WEB方式下難于根據用戶需求進行設計。與上面可視化工具相比,編程的方式應用靈活、功能強大,可以按用戶具體要求使用多種開發語言,如LotusScript和Java類進行程序設計。

LotusScript是一種面向對象的程序設計語言,作者在開發過程主要用到NotesSession類(當前數據庫會話類)、NotesDatabase類(文檔數據庫類)、NotesDocument類(數據庫文檔類)和與ODBC數據源關聯的類:ODBCConnection類(用于拆除、建立與ODBC的連接,訪問數據庫)、ODBCQuery類(ODBC數據庫查詢類,定義SQL語句)、ODBCReslutSet類(執行并返回ODBC數據庫查詢結果集)[2]。

2.3 數據源連接

Domino/Notes支持HTML、XML、JavaScript等語言與Domino/Notes元素混合使用,參與對瀏覽器端的頁面進行設計[3]。通過Domino/Notes自身的公式語言:@Command([ToolsRunMacro]; \"代理名稱\") 在服務器端調用代理,在瀏覽器端提取相應變量,與關系型數據庫進行數據的交互。

1) 數據源名稱提取

在Web頁面調用代理,通過Domino服務器訪問ODBC數據源,把數據源中的所有數據源名稱存儲在當前Domino數據庫相應的“Dbsource”文檔中。主要代碼如下:

dsnList=con.ListDataSources '//con 為ODBCConnection類

For n = Lbound(dsnList) To Ubound(dsnList)

subdsnList=dsnList(n)

Set doc = New NotesDocument(db)

doc.form = \"Dbsource\"

doc.DbSourceName=dsnList(n)

Call doc.save(True,False)

Next

2) 表名、字段名提取

同理,根據主文檔中數據源名稱,輸入對應數據庫的用戶名稱、密碼,提取出該數據庫中的所有表名。并選中其中一個表,把需要的字段名稱選擇出來。表名的數據儲存在“Dbsource”文檔的“答復文檔”中,即“Table”文檔。而字段名稱的數據則儲存在“答復的答復文檔”中,即“Field”文檔。

3) 與數據源的連接

最后用創建一個與ODBC數據源的連接“Connect”視圖,可以在Web頁面中通過用@DBcolumn和@Dblookup調用“Connect”視圖中的數據,配置與ODBC數據源的動態連接。

2.4 報表設計

上述動態ODBC數據源連接配置成功后,用戶根據業務要求,連接數據庫并對所需的數據庫中的表、字段自行提取,選擇完畢后自動生成相應的Web報表。以下是連接數據庫后提取數據生成報表的一個代碼樣例。

Set a = New NotesRichTextItem(doc,\"result_list\")

Do

Call result.NextRow()

num = num + 1

a.AppendText(\"[<tr v align=middle bgcolor=#FFFFFF>]\")

i = 0

Do While i<n

FieldName(i)=doc.getitemvalue(\"FieldName\")(i)

a.AppendText(\"[<td>]\" result.GetValue(FieldName(i)) \"[</td>]\")

i=i+1

Loop

LoopUntil result.IsEndOfData

Call con.Disconnect()

a.AppendText(\"[<tr v align=middle bgcolor=#FFFFFF>]\")

a.AppendText(\"[<td height=30 colspan=6>][<div align=right>]合計:共有 [<font color=#FF0000>]\" num \"[</font>] 條記錄 [</font>][</div>][</td>]\")

a.AppendText(\"[</tr>]\")

在ODBC數據源連接以后,程序按照用戶對報表的定義查詢出相關的數據并加以統計,然后以HTML的形式生成報表并存放在一個RTF域中。

3 在實際中的應用

通過以上設計,即可根據用戶的需要實現文檔型數據庫和關系型數據庫中的數據連接,并動態地把報表以Web的方式發布在網頁上。

如圖1是按照某電力公司的要求從電力營銷系統中提取變壓器數據導入業擴報裝系統生成的報表。通過這種方法節約的設計時間,并且使兩個基于不同數據庫先后開發的系統緊密的結合為一體,方便了用戶的使用和以后的功能擴展。

當該報表需要公文流轉時,用戶可以按照標準的公文流轉的步驟對報表進行查看、審批,實現對報表的文件留痕。而開發人員可以利用ACL(存取控制列表)對該接口的使用者進行權限控制,賦予企業中信息部門對報表的設計權限,在對報表信息發生變更時,用戶可以自行設計報表內容。由此滿足了對系統的遠程管理,可以使辦公自動化系統同時與多個基于關系型數據庫信息系統進行數據交互,提高了工作效率,降低軟、硬件的投入成本。

4 結束語

企業信息化集成過程可以采取多種技術路線,本文提供了一種基于Domino/Notes的接口技術。該項技術針對多個關系型數據庫的連接問題,充分結合Domino/Notes的公式語言、LotusScript與JavaScript的各自優勢,通過自身的固定域和控制域傳遞數據信息,實現了在瀏覽器端對關系型數據庫中數據的動態提取、報表的動態變更。使設計人員能夠在以Domino為平臺的辦公系統或企業網站上充分利用現有資源發布動態信息。

參考文獻:

[1] 陳山.Lotus Domino Designer 6 企業應用程序高級開發[M].北京:中國水利水電出版社,2004:56.

[2] 林琳,年軼.政府辦公與信息處理系統的設計與實現[J].微機發展,2007(11).

[3] 李勝利,林文華.Html在基于Web辦公自動化系統的應用[J].哈爾濱理工大學學報,2006(6).

主站蜘蛛池模板: 91成人在线免费观看| 中文字幕 91| 久久精品视频亚洲| 国产簧片免费在线播放| 女人18毛片水真多国产| 无码免费的亚洲视频| 国产丰满成熟女性性满足视频| 免费A∨中文乱码专区| 综合色区亚洲熟妇在线| 国产成人一二三| 国产新AV天堂| 久久精品只有这里有| 亚洲人妖在线| 国产无码精品在线播放| 3D动漫精品啪啪一区二区下载| 久久这里只有精品66| 日韩国产无码一区| 欧美综合在线观看| 91在线一9|永久视频在线| 国产精品刺激对白在线| 91精品国产自产在线老师啪l| 国产成人久久综合777777麻豆| 亚洲最大看欧美片网站地址| 日韩精品欧美国产在线| 找国产毛片看| 久久综合丝袜日本网| 久久亚洲AⅤ无码精品午夜麻豆| 国产女人18水真多毛片18精品| 伊大人香蕉久久网欧美| 欧美精品影院| 亚洲第一在线播放| 国产精品自在自线免费观看| 天天综合网在线| 新SSS无码手机在线观看| 亚洲人成网站在线观看播放不卡| 欧美日韩一区二区在线播放 | 欧美区一区| 看看一级毛片| 丁香婷婷综合激情| 亚洲精品在线91| a在线亚洲男人的天堂试看| 亚洲精品动漫| 国产无码性爱一区二区三区| 亚洲一欧洲中文字幕在线| 欧洲日本亚洲中文字幕| jizz亚洲高清在线观看| 2020国产免费久久精品99| 国产精品嫩草影院视频| 国产一区二区网站| 午夜性刺激在线观看免费| a级免费视频| 国产精品第一区| 又污又黄又无遮挡网站| 毛片在线播放网址| 久久精品aⅴ无码中文字幕| 国产成人综合亚洲欧洲色就色| 亚洲天堂久久久| 亚洲欧美人成人让影院| 欧美在线观看不卡| 秋霞国产在线| 亚洲欧美日韩中文字幕在线一区| 毛片基地视频| 亚洲大学生视频在线播放| 日本精品视频| 国产欧美网站| 免费福利视频网站| 97久久精品人人做人人爽| 欧美精品在线看| 18禁黄无遮挡网站| 午夜啪啪网| 69视频国产| 亚洲人成网址| 婷婷99视频精品全部在线观看| 亚洲高清中文字幕在线看不卡| 91综合色区亚洲熟妇p| 亚洲天堂精品在线观看| 狠狠色噜噜狠狠狠狠奇米777| 中文字幕伦视频| 久久久受www免费人成| 97精品伊人久久大香线蕉| 欧美成人午夜在线全部免费| 91国内在线视频|