Visual Basic 访问Lotus Domino Notes 数据库.doc_第1页
Visual Basic 访问Lotus Domino Notes 数据库.doc_第2页
Visual Basic 访问Lotus Domino Notes 数据库.doc_第3页
Visual Basic 访问Lotus Domino Notes 数据库.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB访问Lotus Domino Notes数据库摘要:运用Visual Basic(VB)与Lotus Notes COM类来实现访问文档型数据库,使Notes数据库与关系型数据库互连成可能。关键字: VB COM Notes 文档型数据库Abstract:Using Visual Basic(VB) and Lotus Notes COM class to achieve access to the document database,so that Notes databases and relational database connectivity as possible.Keywords:VB COM Notes Document Database1前言Visual Basic是微软公司在力推的编程工具,它具有易学易用、编程简洁、程序集成化程度高等特点。办公自动化软件中常用的数据库系统LotusNotes,属于非关系数据库管理系统。Lotus Notes是Lotus公司推出的群件系统,它不仅仅是个应用软件,更是一个开发平台。Notes数据库是文档型数据库,它使用LotusScript编写相应的代码完成设计者的需求。LotusScript语法类似于Visual Basic的语法,Visual Basic也能轻松访问Notes类。本文以慧点科技OA中安全审计库为例,讨论使用Visual Basic 来访问Notes类的方法。 2、Lotus Notes简介Lotus Notes通常被称为群件,它可以使一组人员集成他们的知识、工作过程和应用系统而获得更好的商业效应。群件是一个集通信处理、文档存储和丰富的应用开发环境于一体的软件,支持在各种不同计算平台和包括Internet在内的各种网络之间共享各种类型的数据。Lotus Notes是一个文档数据库管理系统:最基本的元素就是单独的文档。因为Notes文档既可以包含结构化的内容,也可以包含非结构化的内容,所以,Notes能够存储和管理关系型数据库系统或者其它数据库系统无法存储和管理的各种数据。加之采用了文档模型,Notes向用户提供了大量有用的功能,处理复杂文本(RichText)和多媒体对象的能力、全文搜索功能、版本控制、文档链接等。Lotus Notes包含一个集成的开发环境,为不同层次的用户提供了丰富的开发工具。即使没有编程经验的用户也能很快地建立和实施Notes应用程序,而专业的开发人员更是可以使用Notes内置的编程工具创建功能强大的商务处理应用程序。Lotus Notes是建立在一个复杂正文的、面向文档的数据库,包含字段的表格以及文档链接的概念基础之上的。包括l 数据库基本设计元素表、字段、视图、代理和文件类;l 完备的内置编程工具集Lotus Script、Notes公式语言、Navigators(导航器) l 完善的数据库集成功能Lotus Script Data Object(Lotus Script数据对象)、 NotesPump和许多Business partner DBMS(商业伙伴数据库管理系统)产品; l 通过Basic语言直接利用Notes功能Lotus Notes HiTest for Visual Basic;l 许多流行的、第三方厂商开发的工具扩充Lotus Notes具有以下特点:l 基于文件组织模式l 使用非结构化的数据元素l 通过定时复制刷新数据l 使用视图定位数据l 通过全文检索访问数据。3、设计思路因为ADO或ODBC的方法是针对Oracle等关系数据库管理系统的,主要是通过SQL语言访问数据,Notes尽管也提供了Notes ODBC,但他并不支持全文检索,因此要在VB中实现对Lotus Notes数据库的存取,必须通过别的方法。OLE是视窗系统的一个特征,OLE通过把应用程式的功能作为对象暴露给其他应用程式,这些对象拥有属性(数据)和方法(函数),应用程式通过OLE中的对象去执行相应的任务。 Domino既能作为一个OLE提供给外部程式调用,也能通过OLE去控制其他OLE对象。尽管 OLE也有许多好处,但Domino的OLE服务不支持早期绑定,这意味着在VB等应用程式中对OLE编程进行类型检查、快速启动时,Domino OLE将强迫应用程式启动Notes的客户端,从而对系统产生巨大压力。此外,应用程式不能同时启动多个NotesSession,主要出于安全角度,Domino的OLE不允许应用程式直接输入用户名和密码,因此整个应用程式要么频繁地启动和关闭Domino OLE来打开NotesSession,要么大量使用全局变量,对程式设计极为不利。Lotus提供了一个后台的COM类NotesSession。NotesSession是个功能强大的对象模型,他提供了其他Notes对象的接口,即只有通过他才能访问Notes中的数据库对象NotesDatabase、NotesView等对象。因此本文通过COM类来实现访问Notes数据库。下面几行Visual Basic代码得到当前计算机上一个名为“testdb.nsf”的数据库对象。需要注意的是:(1)在Visual Basic中所有的Notes变量都应声明为Object类型或者具体Notes对象。(2)在Visual Basic 中访问Notes类,首先Visual Basic必须与notes装在同一台计算机上。(3)在Visual Basic 中访问Notes类,在工程-引用添加Lotus Domino Objects 和Lotus Notes Automation Classes。4 程序实现4.1 初始化对象Init()上面代码中,调用initialize方法产生一个NotesSession对象,后面跟的参数是Domino Server的管理口令。4.2 打开数据库 OpenLotus4.3 读取Lotus Notes的视图中的数据存入关系型数据库 LoadLotusToSQL上面读取Notes数据库中取得一个数据的函数用法有点特别:使用两个连续的括号似乎Visual Basic不允许,其实Domino中允许多值域,所以函数 GetItemValue()返回的实质上是个数组,第一个元素从0开始。而对应的fldday、body则是Notes中视图中的字段名。5 结束语通过应用上述方法,成功地解决了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论