首页 Lotus Domino 与关系数据库的互操作

Lotus Domino 与关系数据库的互操作

举报
开通vip

Lotus Domino 与关系数据库的互操作Lotus Domino 与关系数据库的互操作 Lotus Domino 与关系数据库的互操作 ---- 在项目开发过程中,遇到的第一个棘手的问题是:如何把原先的关系型数据库中的内容全部导入Domino 中?因为企业现在的所有数据都集中在一个关系型数据库中,因此希望Notes库能与旧的关系库互操作,而不必在数据库转换上浪费更多人力。 ---- 此外,由于Lotus Notes是非结构化的数据库,而关系数据库属于结构化数据库,因此要实现两者的互操作或数据导入/导出势必需要一个专门的转换程序,而这个程序一般来说...

Lotus Domino 与关系数据库的互操作
Lotus Domino 与关系数据库的互操作 Lotus Domino 与关系数据库的互操作 ---- 在项目开发过程中,遇到的第一个棘手的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 是:如何把原先的关系型数据库中的内容全部导入Domino 中?因为企业现在的所有数据都集中在一个关系型数据库中,因此希望Notes库能与旧的关系库互操作,而不必在数据库转换上浪费更多人力。 ---- 此外,由于Lotus Notes是非结构化的数据库,而关系数据库属于结构化数据库,因此要实现两者的互操作或数据导入/导出势必需要一个专门的转换程序,而这个程序一般来说都属于附加品,要么由Lotus 提供,要么由数据库厂商提供,如Lotus Notes与Oracle数据库之间的转换就有专门的程序(Pump)。一般在购买Lotus产品的时候Lotus公司不会提供此类产品,如果需要可以单独购买。而对于企业来说,如果企业数据存放在不止一个关系库中,那么就需要购买若干个此类产品,而且还不一定能买的到,因此能否通过Lotus Script编写一个通用的数据库转换程序就成为本次开发的难点之一。 ---- 解决这个问题用到了Lotus Domino R5 中提供的三个Lotus Notes 对象类:ODBCConnection(ODBC 连接)、ODBCQuery(ODBC 查询)以及ODBCResultSet(ODBC结果集)。应用这三个类并辅以Lotus Script语言就能实现与关系数据库的互操作问题。 ---- 具体解决方法如下: ---- 第一步在控制面板——>32位ODBC数据源中建立用户数据源Test; ---- 第二步在Domino R5中新建一个数据库Try,并建立一个空白表单Connection,此表单没有任何内容,然后在表单上创建一个“操作”,起名为“Read”; ---- 第三步在“Read”操作的编程窗口中选择编程语言为Lotus Script; ---- 第四步在编程窗口的对象窗口中点击“Option”事件,并写入如下脚本: ---- Uselsx "*lsxodbc" // 使用Lotus Script 扩展对象中的ODBC类 ---- 第五步选中“Declare”事件,在其中写入: Dim session As NotesSession Dim db As NotesDataBase Dim doc As NotesDocument Dim qry As ODBCQuery Dim result As ODBCResultSet Dim con As ODBCConnection 定义程序中使用到的各种对象。 第六步选中“Click”事件,在其中写入: Sub Click(Source As Button) ' Set New Value Set session = New NotesSession Set con = New ODBCConnection // 新建ODBCConnection对象实例 Set qry = New ODBCQuery // 新建ODBCQuery对象实例 Set result = New ODBCResultSet // 新建ODBCResultSet对象实例 ' 取得当前数据库信息 Set db = session.CurrentDataBase Set doc = New NotesDocument(db) // 新建文档 doc.form = "connection" // 新建文档的表单指向connection Call con.Disconnect() // 保证con对象当前没有连接其他数据源 If con.ConnectTo("test") Then // 如果连接成功 Set qry.connection = con // 将建立好连接的con交给query对象 qry.SQL = "SELECT * FROM Table1" // SQL 语句 Set result.Query = qry // 将已经连接上数据源并写好SQL 语句的query对象赋给result对象 Call result.Execute() // 执行SQL语句 Do // 循环直到结果集为空 Call result.NextRow() // 指针指向下一条记录For i = 1 To result.Numcolumns // Numcolumns属性记录关系库中的字段个数 field = result.FieldName(i) // 根据字段的索引值得到字段的名字 value = result.GetValue(field) // 取得字段值 If Isdate(value) Then // 对日期字段的特殊处理 If value = Datevalue("0:00:00") Then value = "" Else value = Format(value,"mm-dd-yyyy") End If End If Set item = doc.AppendItemValue(field,value) // 将关系库中的值写到Notes当前库的当前表单中Next Call doc.save(True,True) // 当一条记录的所有字段都被写入 Notes库后保存此文档 Set db = session.CurrentDataBase Set doc = New NotesDocument(db) // 新建文档doc.form = "connection" Loop Until result.IsEndOfData Call con.Disconnect() // 断开与数据源的连接Else Messagebox("Could not connect to server") End If End Sub
本文档为【Lotus Domino 与关系数据库的互操作】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_589748
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:0
分类:互联网
上传时间:2019-01-25
浏览量:5