在LOTUS NOTES中通过ODBC访问关系数据库的方法.doc_第1页
在LOTUS NOTES中通过ODBC访问关系数据库的方法.doc_第2页
在LOTUS NOTES中通过ODBC访问关系数据库的方法.doc_第3页
在LOTUS NOTES中通过ODBC访问关系数据库的方法.doc_第4页
在LOTUS NOTES中通过ODBC访问关系数据库的方法.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

在LOTUS NOTES中通过ODBC访问关系数据库的方法1、引言自从1989年12月6日,莲花发展公司(LOTUSDEVELOPMENT CORP .)发表了Lotus Notes,一种能极大改进公司内部、与其他公司及客户之间的环球通讯、协同工作和协调一致的软件产品。由于它有很好的电子邮件系统,领先的全文检索和复制功能,还具有极强的安全措施,可以可靠地保证安全性,因而得到广泛的应用。但它也有自身的弱点,在联机事物处理问题,比如:数据统计、分析、图表生成等功能上还很弱,这时就需要传统的关系型数据库管理系统来实现。如何把现有的关系型数据库信息转换到Notes数据库中,以便利用LotusNotes中的许多良好性能共享数据库,是本文要讨论的问题。2、ODBC概述ODBC(OPENDATABASECONNECTIVITY开放数据库连接)是微软开放的服务结构(WOSA:MicroSoftWindows OpenServiceArchitechtrue)中有关数据库的一个组成部分,它规定“以统一的API存取异构数据库信息”是对SQLACCESSGROUP的CLI标准的一种实现,得到了世界上领先的数据库和应用程序开发商的广泛支持。通过使用这统一的API建立的应用程序,对数据库的操作不依赖于任何数据库管理系统,不直接与任何DBMS(数据库管理系统)打交道,从而直接实现应用程序对不同DBMS的共享。采用ODBC技术,应用程序只需关心数据的处理而不必考虑数据的存取,编程人员不必了解具体的DBMS,从而极大地减少了软件开发人员的工作量,缩短了开发周期,提高了效率和软件的可靠性。3、ODBC工作原理ODBC接口以SQL作为标准的查询语言来存取连接到的数据源。ODBC允许单个应用存取多个不同的数据库管理系统,这使得应用开发者可以开发、编辑和发行应用而不管它操作的数据库管理系统(DBMS)究竟是什么。用户可以通过加载连接到不同数据库的驱动程序来建立与各种数据库的连接。一般说来,ODBC调用由四个层次组成:3.1、第一层为ODBC应用软件,它通过调用ODBC函数给数据库发送SQL语句并处理SQL返回结果。LOTUSNOTES 是通过NDODBC完成这一功能的。3.2、第二层为驱动管理软件。驱动管理器管理驱动程序和装载驱动程序,它的作用如下:用ODBC.INI文件映射数据源名到特定的驱动程序;处理几个ODBC初始化调用;给每个驱动程序提供ODBC函数入口点;对ODBC的调用参数和顺序进行检验。3.3、第三层为驱动软件。处理ODBC函数调用,提交SQL请求到特定的数据源并返回结果给应用。如果必要,它会修改应用的SQL请求,以使SQL请求的写法与物定数据库的语法一致。3.4、第四层是数据源。数据源是指要存取的数据及相关的操作系统、数据库管理系统和网络系统。4、ODBC接口支持的SQL语句事实上,ODBC驱动(第三层)程序有两类,一类含有SQL语句处理功,另外一类则没有。因此,我们可以看到,对不含SQL处理功能的ODBC驱动来说(如SYBASE的ODBC驱动),应用中可以使用的SQL语句就是数据源数据库(如SYBASE)支持的SQL语句,那么,含有SQL处理功能的ODBC驱动(如dBASE的ODBC驱动)支持哪些SQL呢?这类ODBC驱动有两部分内容,一类是处理所支持ODBC函数调用的应用程序接口(如API、APPLICATIONPROGRAMINTERFACE),另一类是处理所支持SQL语句及SQL数据类型的SQL处理程序(SQLGRAMMER)。API按其功能大小分为三级:4.1、第一级(Core):含有X/OPEN和SAG CLI规定的API函数集合。4.2、第二级(Level1):含有第一级的所有API函数,并且还有一些扩展函数。4.3、第三级(Level2):含有第一级和第二级的所有API函数,并且还再有一些扩展函数。LotusNotes 4.5版本要求ODBC驱动的API至少支持到第二级。5、建立ODBC数据源LotusNotes使用ODBC标准存取异种数据库信息。通过Notes里内嵌的公式或Script语言,您可以在Notes文档中引入非Notes信息,可把现成的数据转换成Notes数据库。在存取外部数据之前,您必须先定义一个数据源,以便让ODBC 驱动程序管理器知道怎样获取数据。一个数据源把一个特定的ODBC驱动程序和要存取的数据库联系在一起,并包括您想存取的数据,它与服务器或目录、后台DBMS(数据库管理系统)以及网络平台相联系,这些信息都记录在一个注册文件中(在Windows95中是ODBC.INI),可采用Windows的管理工具注册数据源。ODBC驱动程序管理器负责将应用程序的SQL语句以及其他的信息传递给驱动程序;而驱动程序则负责将结果集传回应用程序。在WINDOWS95中的操作步骤如下:打开WINDOWS控制面板;按下ODBC图标;按下ADD按钮;选择您需要的驱动程序,按下OK按钮;输入数据源名称、描述信息,以及所需要的信息;有些驱动程序还需要其他的一些信息,输入这些必要的信息,并按下OK按钮;按下CLOSE按钮。6、使用函数通过ODBC访问异种数据库在LOTUS NOTES 4.5版本中提供了三个函数访问异种数据库,并返回一个值或列表值:DBCOLUMN(ODBC)返回表格中一列的全部数组,或者全部不同的数值;DBLOOKUP(ODBC)返回在表格中一列通过匹配关键字选定的数值;DBCOMMAND(ODBC)传递一个命令到外部DBMS并返回结果;其中DBCOLUMN、DBLOOKUP都只能提取数据,它们不能增加、删除、修改数据,或执行其他操作;DBCOMMAND能恢复数据或发送其他可以改变数据的SQL语句;下面给出它们的标准形式:DbColumn(“ODBC”:”NoCache”;data_source;user_ID1:user_ID2;pass_word1;password2;table;column:null_handling;”Distinct”:sort)DbLookup(“ODBC”:”NoCache”;”data_source”;”user_ID1”:”user_ID2”;”password1”;”password2”;”table”;”column”:”null_handling”;”key_column”:”key”;”Distinct”:sort)DbCommand(“ODBC”:”NoCache”;data_source;user_ID1:user_ID2;pas_sword1;password2;command_string:null_handling)注意:如果用户的NOTES。INI文件有下列语句:NoExternalAPP=1则所有公式被禁止,并且看不到任何错误信息,公式不能执行。7、通过ODBC使用LotusScript访问外部数据库LSX兼容模块允许您使用LotusScript语言来编写存取外部数据的程序,Notes的ODBCConnection、ODBCQuery、ODBCResultSet三个类为Notes提供了用ODBC标准存取外部数据库的属性和操作。记住,您必须把下面的语句放置在(GLOBAL)对象的(OPTIONS)事件中才能访问ODBC类:USELSX“*LSXODBC”ODBCCONNECTION类代表了与数据源连接的ODBCDATAACCESS特性;ODBCQUERY类代表定义一个SQL语句的ODBC数据库存取特性,一个查询在被使用或者有效确认之前,必须从属与一个有效的连接ODBCRESULTSET类代表在集合上执行操作的ODBC数据存取特性8、由关系型数据库转换成NOTES数据库的一种实现方法下面以Notes访问Foxpro数据库为例,介绍Notes访问异种数据库的一种实现方法。基本编程思路是:对Foxpro的一个数据库,按其基本结构相应在Notes数据库里建立一个同样结构的表单,以便把Foxpro某个字段的信息经转换后存在Notes表单相应字段中,建立一个操作,用Lotus Notes语言编写转换程序,在视图中运行,以实现外部数据库信息向Notes数据库转换。假定Foxpro的一个数据库(SU97.DBF),其结构如下:字段名类型宽度ORDINALN4COMTIMED8COMWORDC18COMNOC3RECETIMED8RECEWORDC18RECENOC3RECEDEPAC24RECETITLC120SECLEVC4HANDLEC12THEMEC48REMARKC60TODEPAC40ENDDEPAC40欲将此数据库所有信息转换到NOTES库中,实现步骤如下:8.1、在NOTES中新建一个数据库,取名为ODBC.NSF,在这个数据库里创建一个表单,取名为TEST_ODBC,其内容如下:域 名类型说 明XUHAO数字可编辑SHOUWENSHIJIAN时间可编辑SHOUWEIZI文本可编辑SHOUWENHAO文本可编辑LAIWENSHIJIAN时间可编辑LAIWENZI文本可编辑LAIWENHAO文本可编辑LAIWENJIGUAN文本可编辑LAIWENBIAOTI文本可编辑MIJI文本可编辑BANFUQINGKUAN文本可编辑ZHUTICI文本可编辑SONGBANDANWEI文本可编辑WANCHENGDANWEI文本可编辑在ODBC.NSF数据库中建立一个标准视图,取名为TESTVIEW,定义该视图选项为SELECT (form=”test_odbc”);同时创建一个操作,标题为“转换”,在CLICK事件中作如下编程:Sub Click(Source As Button) Dim session As New notessession Dim db As notesdatabase Dim doc As notesdocument Dim view As notesview Dim r As Integer Dim con As New odbcconnection Dim qry As New odbcquery Dim result As New odbcresultset Set db=session.currentdatabase Set view=db.getview(testview) If con.connectto(Foxpro25) Then Set qry.connection=con 发出查询请求 qry.sql=select *from su97 Set result.query = qry If Not result.execute() Then Messagebox(error: &_ result.geterrormessage(db_lasterror) End If columns=result.numcolumns Do Call result.nextrow() Set doc= New notesdocument(db) Doc.form=“test_odbc” 取出结果集并存入相应字段中 doc.xuhao=result.getvalue(1) doc.shouwenshijian=result.getvalue(2) doc.shouwenzi=result.getvalue(3) doc.shouwenhao=result.getvalue(4) doc.laiwenshijian=result.getvalue(5) doc.laiwenzi=result.getvalue(6) doc.laiwenhao=result.getvalue(7) doc.laiwenjiguan=result.getvalue(8) doc.laiwenbiaoti=result.getvalue(9) doc.miji=result.getvalue(10) doc.banfuqingkuan=result.getvalue(11) doc.zhutici=result.getvalue(12) doc.beizhu=result.getvalue(13) doc.songbandanwei=result.getvalue(14) doc.wanchengdanwei=result.getvalue(1

温馨提示

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

评论

0/150

提交评论