java怎么访问Domino数据库

java怎么访问Domino数据库,第1张

两种思路 1、用diiop连接访问,需要 *** 作数据库对象,对domino的对象 *** 作要有一些了解(知道怎么读文档读域值),不需要客户端。 2、如果对domino太不熟,且仅迁移字段数据,可以把domino的数据通过domino视图导到一个excel里面。java再去读excel。

建议如下 *** 作

1、定位如果连接domino,比如diiop连接的方式

2、能直接访问连接domino后,就可以做查询了

比如,你有当前登陆用户(username="张三")为条件,查询当前用户在待办库(待办库:daiban.nsf)中的的所有待办工单(state="1"代表待办状态)(待办表单form="dbgd")。

1>那你可以建一个视图,搜索条件为:select form = "dbgd" &state = "1"

命名视图名为"chaxun1",这样你就建好了你要搜索的视图了。

2>在java中写代码咯~~

比如:

(以通过用户名密码进入取得session)

Database db = null

Documentcollection dc = null//文档集

Document doc = null

View view = null

db = session.getdatabase("domion服务器ip","baiban.nsf")

view = db.getview("chaxun1")

dc = view.getAllDocumentsByKey(doc.getItemValueString("张三")

if (dc.getCount()>0) {

for(int i=0i<dc.getCount()i++){

doc = dc.getNthDocument(i+1)

// ...取到文档,你还不会处理么- -》》》?

}

}

我只能帮到这里了。另外附上diiop配置和一则java代理的用例的链接(本人博客非广告)。你可以参考下。(去除“度娘防吞”中文字即可)

还有什么不明白可以在我博客留言或私信我(我不是每天上百度知道,不一定马上看到)。

用例:

h度ttp娘:/防/g5dfire.sy吞nology.me:度8888娘/blo防g/#para吞m=id_29

DIIOP配置:

h度ttp娘://防g5dfire.sy吞nology.me:8度888/bl娘og/#pa防ram=吞id_26

java访问 *** 作lotus domino数据库

有几种方式:

1、直接使用domino本身的jar文件接口,这种连接方式需要domino服务器启动diiop服务;

2、使用domino的lddj接口,接口可以到ibm的网站上去下载,这种连接方式只能在window环境下使用,需要安装notes客户端,使用id来验证的,需要手动输入密码;

http://www-12.lotus.com/ldd/doc/drivers/jdbc/1.5/lddj_help.nsf

3、使用corba来访问domino,这个比较烦,我至今没有调通

http://www.oaunion.com/oaunion/o ... pendocument&skeyword=corba发表者:slzhang

是可以通过java来取得domino的资料.也可以通过jsp来读domino里的资料,只要你在domino上打开diiop服务就可以.

附一个jsp的例子如下:

<%@ page c language="java"%>

<%@ page import="com.dragon.*" %>

<%@ page import="lotus.domino.*" %>

<%!

session sess

database db

view view

document doc

string host = "",user = "", pawd = ""

%>

<%

try{

sess = notesfactory.createsession("192.168.2.1","admin","12345678")

host = sess.getservername()

user = sess.getusername()

system.out.println("host: " + host + " user: " +user)

db = sess.getdatabase(host,"fawen\\sample.nsf",false)

view = db.getview("jsp")

doc = view.getfirstdocument()

out.println(db.gettitle())

}catch(notesexception ne){

system.out.println("error: " + ne.id + " ==> " + ne.getmessage())

}

%>

<html>

<head>

<title>jsp get domino data</title>

</head>

<body>

<table border="1" bgcolor="#ff33cc">

<tr><th> 姓名</th><th>性别</th><th>生日</th><th>职务</th><th>职称</th><th> 部门</th></tr>

<%

while(doc!=null){

%>

<tr>

<td><%= doc.getitemvalue("jname") %></td>

<td><%= doc.getitemvalue("jsex") %></td>

<td><%= doc.getitemvalue("jbirth") %></td>

<td><%= doc.getitemvalue("jjob") %></td>

<td><%= doc.getitemvalue("jjobtitle") %></td>

<td><%= doc.getitemvalue("jdept") %></td>

</tr>

<%

doc = view.getnextdocument(doc)

}

out.println("host: " + host + " user: " +user)

doc.recycle()

view.recycle()

db.recycle()

sess.recycle()

%>

</table>

</body>

</html>

发表者:cnhxjtoa

以前我写过domino5-->oracle8

以下是与domino建立链接的相关代码

import lotus.domino.*

try {

system.out.println("开始notes数据源进行连接....")

session s = notesfactory.createsession(noteshost,username,userpassword)

system.out.println("与notes数据源成功连接,现正在查找notes登录数据库oak.nsf")

//定义全局性变量

database db = null

database namesdb=null

view view =null

document doc = null

string namesuser=""

db = s.getdatabase(s.getservername(), sysinf.notes_dir +"/oak.nsf")

acl acl = db.getacl()

aclentry entry = acl.getfirstentry()

namesdb=s.getdatabase(s.getservername() ,"names.nsf")

view = namesdb.getview("groups")

do

{

//具体分析每一个对象

switch (entry.getusertype()) {

case aclentry.type_mixed_group :

//混合组

system.out.println("混合组 "+entry.getname()) break

case aclentry.type_person :

//个人

namesuser=entry.getname().substring(3,entry.getname().indexof("/") )

addnotesuser(namesuser)

system.out.println("个人 : "+ namesuser)

break

case aclentry.type_person_group :

//个人群组

system.out.println("个人群组: "+entry.getname() )

//names.nsf 中视图groups 文档members域有每一个用户

doc = view.getfirstdocument()

while (doc != null && !doc.getfirstitem("listname").gettext().equals(entry.getname() ) )

{

doc = view.getnextdocument(doc)

}

if (doc!=null){

enumeration values = doc.getfirstitem("members").getvalues().elements()

while (values.hasmoreelements()) {

//将cn=administrator/o=autosoft只取它的名字administrator

namesuser=values.nextelement().tostring()

namesuser=namesuser.substring(3,namesuser.indexof("/") )

addnotesuser(namesuser)

}

}

break

case aclentry.type_server :

//服务器

system.out.println("服务器 "+entry.getname()) break

case aclentry.type_server_group :

//服务器组

system.out.println("服务器组 "+entry.getname()) break

case aclentry.type_unspecified :

//没有指定

if(entry.getname().indexof("/")>1 )

{

namesuser=entry.getname().substring(3,entry.getname().indexof("/") )

addnotesuser(namesuser)

system.out.println("找到一个没有指定类型的用户 "+entry.getname().substring(3,entry.getname().indexof("/")))

break

}

else

{

system.out.println("没有指定 "+entry.getname())

break

}

}

} while ((entry = acl.getnextentry(entry)) != null)

system.out.println("用户导入完成")

}

catch (exception ex)

{

ex.printstacktrace()

system.out.println("与notes数据源连接失败" )

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10054372.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存