技术开发 频道

Domino R5用Lotus Script处理XML

【IT168 技术文章】

问题:

    我们的Support Team维护着不同地区各个部门的十几个Domino应用,这些应用都采用外接数据库Access DB和Oracle DB。由于某种原因,User要求连接数据库的UserID和Password可以变更,由于UserID和Password在开发时已作为Const固化在Agent 和公式@DbColumn、 @DbLookup中,所以每次变更时,不得不使用Lotus Designer逐个应用逐个Form、Agent等,一一打开变更,一不小心就漏掉了,十分麻烦。于是,我们想到一个方案:配置文件。配置文件要满足:

    1)对UserID和Password的变更,只需要修改配置文件即可完成。

    2)不需要Lotus Designer开发环境。

    3)格式清晰,易于修改维护。

    鉴于以上,我们把配置文件格式定为XML。

    在Domino R5中,对XML的处理,有两种方式: (1) 采用Java来处理; (2) Lotus Script来处理。

    通常采用Java Agent来处理XML文档。由于连接数据库的Agent是Lotus Script Agent,所以不得不采用Lotus Script来处理XML。

    环境:

    Win2k、Domino R5、 Lotus Designer R5、Visual Basic 6.0

    方案:

    我们知道Lotus Script没有直接处理XML文档的函数、方法。但是Lotus Script和Visual Basic融合的非常好,VB代码不需要做太多修改就可以在Lotus Script Agent中使用。我们知道在VB中使用MSXML处理XML文档。所以我们先在VB中使用MSXML处理XML文档,以此作为原型,再进行修改,移植到Lotus Script Agent中。

    一、 定义XML文件

    我们将其命名为DBConfig.xml,放在Lotus\domino\目录下。它由一个根元素<DATABASE>,DATABASE有一个以上的<APPLICATION>子元素,APPLICATION有一个属性name,并且有三个子元素,<USERID>、<PASSWORD>、<TNS>,这三个元素都没有属性。

    文件 : \Lotus\domino\DBConfig.xml

    内容 :

    <?xml version="1.0" encoding="utf-8"?>

    <!--    For Database username password etc.  -->

    <DATABASE>

    <!--   App 1  -->

    <APPLICATION name="APP1">

    <USERID>UID1</USERID>

    <PASSWORD>PWD1</PASSWORD>

    <TNS>TNS1</TNS>

    </APPLICATION>

    <!--   App 2  -->

    <APPLICATION name="APP2">

    <USERID>UID2</USERID>

    <PASSWORD>PWD2</PASSWORD>

    <TNS>TNS2</TNS>

    </APPLICATION>

    <!--   App 3  -->

    <APPLICATION name="APP3">

    <USERID>UID3</USERID>

    <PASSWORD>PWD3</PASSWORD>

    <TNS>TNS3</TNS>

    </APPLICATION>

    </DATABASE>

   

0
相关文章