
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数据源连接失败" )
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)