Domino/Notes与关系数据库的通用接口设计

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:gtghs
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 该文介绍了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>]"
其他文献
习作教学一直是小学语文教学的难点,尤其是统编教材全面投入使用后,面对新的教学内容,很多教师感到不适应。对此,我们在学习借鉴当前作文教学模式的基础上,结合语文学科特点和教学实际,提出了“四步循环”习作教学模式。  “四步循环”习作教学模式继承了传统作文教学模式的优点,把学生学习方式的优化、教师教学方式的改进、教师关注学生长远发展的评价作为重点,优化了课堂教学结构,体现了新课程强调的“自主、合作、探究
摘要:通过分析各种入侵检测系统的特点,提出了一种基于移动Agent和主从数据库模式的分布式入侵检测系统的模型MADIDS,实现了基于该模型的分布式入侵检测系统,该模型中的Agent相互独立、互相协作,并有效的对数据库进行层次划分,提高了系统的效率、健壮性、可扩展性和可靠性。  关键词:入侵检测;移动Agent;MYSQL  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008
摘要:传统的《C程序设计》教学方法存在很多不足,提出一种新的基于案例的教学方法。该方法采用“案例-理论和概念”的教学模式,具有突出实践性,体现真实性,实现互动性,发挥学生主体性等显著特点。案例设计是该方法的前提和基础,指出了设计案例时需注意的问题,并结合实例进行了说明。案例教学可极大提高学生学习的兴趣,增强学生在课堂上的参与感,改变原来课堂“满堂灌”现象,从而提高教学质量。  关键词:C程序设计;
摘要:ADO.NET是微软针对ADO的缺陷而重新设计的一种全新的数据库访问技术。阐述了ADO.NET的结构与数据模型:数据提供程序和数据集。探讨了利用ADO.NET技术访问数据库访问的方式,同时给出了采用C#语言所实现的ADO.NET数据库访问技术在数据库中编程中的具体实现方案。  关键词:C#语言;ADO.NET;数据库访问  中图分类号:TP311文献标识码:A文章编号:1009-3044(2
摘要:GetSystemMetrics函数是Windows API(Application Program Interface)函数中的一员。利用这一函数,可以获取很多关于系统的信息,包括软件系统和硬件系统等,对于面向计算机软、硬件系统检测、维护的应用程序开发有重要的应用价值。本文讨论了Delphi下GetSystemMetrics函数的典型应用,并提供对应的程序验证。  关键词:Delphi;G
摘要:随着 Internet 的发展,VoIP获得了广泛应用。目前的VoIP有多种协议,但是传统VoIP服务器只能够支持单一的协议,不同VoIP协议的互通问题始终是VoIP发展中的核心问题。本文基于公用信道思想,介绍了一种使用多协议的VoIP技术。  关键词:VoIP;公用信道;服务器   中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)24-1185-04   在Vo
【摘要】统编教材保留了部分老课文,在全新的教材体系中,面对全新的教学视野,教师教学老课文时,须具备统整意识、系统思维,发现其在新教材体系下的教学价值,明晰其教学定位,调整教学设计,引导学生掌握、运用阅读策略,实现语文要素的落实。  【关键词】老课文新教,语文要素,统整意识  统编教材在适应当代小学生的语文生活和时代需求的前提下,吸纳了课程改革以来的优秀成果,在教材的编排、课文的选取、练习的设计、活
摘要:基于校园网络的MIS开发是将先进技术应用到校园内部,通过简单的浏览界面,方便地集成了各类己有的服务:极大改变了传统的信息系统的结构设计,开发环境和应用环境,打破了信息共享的障碍。  关键词:校园网;信息系统;MIS;ASP  中图分类号:TP393文献标识码:A 文章编号:1009-3044(2008)12-20000-00    The Main Implementation Techni
摘要:课堂板书是面授教学的一个重要组成部分,板书质量的高低对教师课堂教学与学生听课效果有着重要的影响作用。认真搞好课堂教学板书工作,有利于任课教师搞好面授教学;努力提高授课质量,有利于学生牢固掌握每课时教学的重要内容。  关键词:教学 板书 技能  板书设计是教师的基本教学技能之一。板书作为一种重要的教学手段直接影响教学效果。好的板书能吸引学生的注意力,加深学生对所学知识的理解和记忆,给学生以美的
【关键词】难文浅教,语文要素,练习系统  统编教材中有不少课文内容较难,学生不易理解,写作时代离学生久远,如五年级上册的《白鹭》,六年级上册的《丁香结》《好的故事》等。  陈先云曾针对这一情况特别指出,“选人教科书的文章应该有一定的思维价值,要符合学生的最近发展区,学生经过思考或教师指导就能够读懂”“教師要根据学生的学习情况、认知水平和发展需要,把教科书中对学生来说最有价值的学习内容提炼出来,教学