悬疑灵异

代理技术连接物业

偶尔,我们需要查询Domino以外的数据和关系很远的关系型数据库世界。这时,

我们就会使用那些熟悉的工具来存取关系型数据库中的信息,这就使得ODBC迅速

发展起来,此外不仅ODBC可以把Domino和关系型数据库连接起来,而且你可以用

LotusScript写一个代理。

当你需要在你的DB2/Oracle/Access数据库上运行一个查询并把输出结果作为一个

易读的页给第三方看时将会发生什么情况呢?这时我们就需要真正考虑在Domi

no中ODBC了。所以这就是我们的理想状况:我们要从Notes客户端上运行一个SQL

在外部数据源中查询数据,然后产生一个输出,可以让用户通过Web和Notes查看

这个算法很简单:

连接外部数据源

从用户端取得SQL查询

运行SQL查询

产生输出

关闭数据源连接

好了,如果你不懂SQL,那么这部分代码可能是整个代理中最难的部分。而其他的

事情相对来说比较简单(如果你通过学习下面的代码所表示的算法)。这个代理

被用于从操作菜单中激活。并在Notes文档的表单上产生输出,毕竟,如果没有必

要的话,又何必绕弯子去建立一个HTML的加载呢?把数据库该为即将接受输出的

那个数据库,并且把连接改到即将被查询的ODBC数据源。(记住:你必须首先设

置好ODBC连接,否则下面的代码不会工作的。)

\'--declareallvariables

DimsessionAsNewNotesSession

DimdbAsNotesDatabase

DimdocAsNotesDocument

DimviewAsNotesView

DimdisplayAsNotesItem

DimconAsNewODBCConnection

DimqryAsNewODBCQuery

DimresultAsNewODBCResultSet

DimdvdTitleAsString

DimstudioAsString

DimavailAsString

Dimquery_inputAsString

DimdefaultQueryAsString

Setdb=rrentDatabase

Setdoc=NewnotesDocument(db)

Setview=tView(\"ODBCView\")

Setdisplay=NewnotesItem(doc,\"display\",\"\")

\'--setupconnectiontoexternaldatasource,Accessdatabase

nnection=con

ery=qry

nnectTo(\"ex_database\")

\'--getSQLfromuser

defaultQuery=\"SELECT*FROM[table]\"

query_input=Inputbox(\"Defaultsto:\"defaultQuery,\"SQLstatement\"

,L)

Ifquery_input=\"\"Thenquery_input=defaultQuery

\'--runSQLquery

L=query_input

ecute

\'--generateoutputfromquery

Do

xtRow

dvdTitle=tValue(\"DVDTITLE\",dvdTitle)

studio=tValue(\"STUDIO\",studio)

avail=tValue(\"AVAIL\",avail)

pendToTextList(dvdTitle\"\"studio\"\"avail)

最重要的是他是为了家族而战 msg=dvdTitle

EndOfData

placeItemValue(\"Form\",\"ODBCform\")

ve(True,False)

\'--closedatabase,anddisconnectfromODBC

ose(DB_CLOSE)

sconnect

这个代理目前连到一个包含有关DVD数据的一个小数据库。所以这个代理可能不会

正常运行,因为你不太可能拥有一个叫做“ex_database”的数据源,也不太可能

在这个数据源中有有关DVD的数据。然而,连到任何关系型数据库的原理是一样的

。提取你的真正有用的数据库中的数据,你将开始你的工作。

云南看不孕不育去哪里
南昌哪里有男科医院
长春前列腺炎治疗多少钱
友情链接