【探讨】如何使用Notes与其它关系数据库进行信息交互?

发表于:2007-05-26来源:作者:点击数: 标签:
欢迎有兴趣者一起探讨、补充,共同提高~~~ ====================================================== 标题:如何使用Notes与其它关系 数据库 进行信息交互? 在Notes环境下,可通过公式、函数和Script与其它关系数据库进行信息交互。通常步骤如下: 一、设置

欢迎有兴趣者一起探讨、补充,共同提高~~~

======================================================
标题:如何使用Notes与其它关系数据库进行信息交互?

在Notes环境下,可通过公式、函数和Script与其它关系数据库进行信息交互。通常步骤如下:

一、设置ODBC数据源:
Notes可通过ODBC驱动程序访问关系数据库。
1、在操作系统的控制面板中,打开“ODBC数据源”。 
2、在“用户DSN”中单击“添加”,增加一个新的数据源。 
3、选择数据源的驱动程序。
4、定义数据源等驱动参数。
 
二、利用Script读取数据库:
注意:使用LotusScript访问数据库一定要在(Options)过程中加入Uselsx "*LSXODBC"命令。

[code:1:f575fc4580]On Error Goto err '如果有错误,就转到相应错误处理程序。

Dim con As New ODBCConnection '定义ODBC连接对象 
Dim qry As New ODBCQuery '定义ODBC查询对象 
Dim result As New ODBCResultSet '定义ODBC结果处理对象 

Set qry.Connection = con '将ODBC查询对象和相应连接对象挂靠
Set result.Query = qry '将ODBC查询对象和相应结果处理对象挂靠

con.ConnectTo("ABC" '使用ODBC数据源ABC连接上相应数据库 
qry.SQL = "SELECT * from test" '定义ODBC查询对象所使用的查询SQL语句
result.Execute '执行该SQL语句

rows = result.MaxRows '返回结果记录数 
Call result.FirstRow '定位第一条记录 

Do
a1 = result.GetValue("1" '获得该条记录1字段中的值 
a2 = result.GetValue("2" '获得该条记录2字段中的值
Print a1,a2 '将返回的值,打印显示 
Call result.NextRow '继续下一条记录 
Loop While maxrow > result.CurrentRow '如果搜索到最后条记录,退出循环 

result.Close(DB_CLOSE) '关闭结果集
con.Disconnect '断开数据库连接
Exit Sub

errorHandler: 
Messagebox result.GetExtendedErrorMessage,, result.GetErrorMessage '显示发生错误的消息
Exit Sub[/code:1:f575fc4580] 
三、利用Script写入数据库:

[code:1:f575fc4580]On Error Goto err '如果有错误,就转到相应错误处理程序 

Dim con As New ODBCConnection '定义ODBC连接对象 
Dim qry As New ODBCQuery '定义ODBC查询对象 
Dim result As New ODBCResultSet '定义ODBC结果处理对象 

Set qry.Connection = con '将ODBC查询对象和相应连接对象挂靠
Set result.Query = qry '将ODBC查询对象和相应结果处理对象挂靠

con.ConnectTo("ABC" '使用ODBC数据源ABC连接上相应数据库 
qry.SQL = "SELECT * from test" '定义ODBC查询对象所使用的查询SQL语句
result.Execute '执行该SQL语句

result.AddRow '增加一行记录

Call result.SetValue("1","AA" '给该记录字段1赋值"AA"
Call result.SetValue("2",3) '给该记录字段2赋值3

result.UpdateRow '将增加的记录写入数据库
result.Close(DB_CLOSE) '关闭结果集
con.Disconnect '断开数据库连接
Exit Sub

errorHandler: 
Messagebox result.GetExtendedErrorMessage,, result.GetErrorMessage '显示发生错误的消息
Exit Sub  [/code:1:f575fc4580]

 wildfish 回复于:2004-03-26 14:10:43
收藏

 qingzhou 回复于:2004-03-26 14:18:36
热切希望能够在CU上认识一些管理、研究Notes的朋友,便于共同探讨、交流Notes日常管理、开发问题。
很遗憾的是CU没有Lotus Domino/Notes交流区,只能借助这里来和大家交流了。。。
望版主们见谅~~~

 mamei 回复于:2004-03-26 15:24:09
早认识轻舟的话,我也许就不会放弃NOTES了!

 居士 回复于:2004-03-27 20:41:48
domino还有 LEI软件来实现不同数据库间数据的读取,性能比domino自带的DECS好多了。我有朋友测试过,可惜自己没有测试环境

 qingzhou 回复于:2004-04-01 17:04:56
LEI是个不错的方法,LOTUS提供这个工具也就是专门为Notes访问关系数据库提供的,但在配置双项连接文档时要配置许多参数,有点麻烦和容易错。
LEI不失为一个好途径。。。

原文转自:http://www.ltesting.net