CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  企业开发 >  Lotus

!!取数据库的问题!!紧急!为了这个我今天都已经花了300分了--b

楼主Lucern(雨落忘川)2004-12-01 15:42:31 在 企业开发 / Lotus 提问

代理里面,我想取mail目录下面的所有数据库,并且进行添加ACL的操作。  
  该怎么办?  
  前面IBM123大哥给的代码好像不能用于后台代理运行,但是由于只有oaserver/cert和本人有权利对数据库进行操作,所以现在不得不在后台运行代理。  
  代码如下:  
  Sub   Click(Source   As   Button)  
  Dim   dbdir   As   New   NotesDbDirectory("")  
  Dim   db   As   NotesDatabase  
  Dim   ACL   As   NOTESACL  
  Dim   entryacl   As   NotesACLEntry    
  Set   db   =   dbdir.GetFirstDatabase(DATABASE)  
  While   Not(db   Is   Nothing)  
  If   Strleftback(db.FilePath,"\")<>"mail"   Then   Goto   n  
  Set   acl=db.ACL    
  Set   entryacl=acl.GetEntry("LocalDomainServers")  
  If   entryacl   Is   Nothing   Then  
  Set   entryacl=acl.CreateACLEntry("LocalDomainServers",6)  
  End   If  
  entryacl.IsServer=True  
  entryacl.IsGroup   =True  
  Call   acl.Save    
  n:  
  Set   db   =   dbdir.GetNextDatabase  
  Wend  
  End   Sub  
  请问该如何修改?  
  大家帮帮忙吧! 问题点数:100、回复次数:5Top

1 楼freyild1979(狂风小诗-》孔子曰:莫装B,装B被雷劈)回复于 2004-12-02 08:27:08 得分 10

Dim   dbdir   As   New   NotesDbDirectory("")->  
  试试改成:  
  dim   s   as   new   notessession  
  Dim   dbdir   As   New   NotesDbDirectory(s.servername)Top

2 楼yaorong(辛勤的打字工作者)回复于 2004-12-02 08:38:06 得分 10

我觉得应该做一个表单,做一个多值域将文件列表取出来,你选择,  
  这样可以对选择到的文件列表,用上面的代码一个一个处理!Top

3 楼EANFS(我的爱是折下自己的翅膀 送给你飞翔)回复于 2004-12-02 09:41:06 得分 10

你可以加一些MessageBox   db.Title来进行调试,看是否有取到这些数据库,  
  我有试了一下,执行十几个数据库后就出错了Top

4 楼hu97142(磕虫)回复于 2004-12-02 10:24:12 得分 10

你的Domino是R5的吗,R5有个不能在后台代理打开异地数据库的Bug,不相信的可以自己去Notes.net找找!Top

5 楼IBM123()回复于 2004-12-02 10:26:40 得分 60

试以下代码,设为定时代码即可。  
   
  Sub   Initialize  
   
  On   Error   Goto   e  
  Dim   s   As   New   NotesSession    
  Dim   dbdir   As   New   NotesDbDirectory("")  
  Dim   db1   As   NotesDatabase  
  Dim   db   As   NotesDatabase  
  Dim   ACL   As   NOTESACL  
  Dim   entryacl   As   NotesACLEntry    
  Set   db1   =   dbdir.GetFirstDatabase(DATABASE)  
   
  x=0  
   
  While   Not(db1   Is   Nothing)  
   
  If   Strleftback(db1.FilePath,"\")<>"mail"   Then   Goto   n  
   
  Set   db=s.GetDatabase("",db1.FilePath)  
   
  Set   acl=db.ACL    
  Set   entryacl=acl.GetEntry("LocalDomainServers")  
  If   entryacl   Is   Nothing   Then  
  Set   entryacl=acl.CreateACLEntry("LocalDomainServers",6)  
  End   If  
  entryacl.IsServer=True  
  entryacl.IsGroup   =True  
  Call   acl.Save    
   
                                      x=x+1  
  n:  
  Set   db1   =   dbdir.GetNextDatabase  
  Wend  
   
  Msgbox   "共处理数据库:"   &   x  
   
  Exit   Sub  
   
  e:  
   
  Msgbox   Error   &   Cstr(Erl)  
   
  Exit   Sub  
  End   SubTop

相关问题

  • 紧急求助!如何利用XmlHttp来实现B/S客户端无刷新读取数据库的数据?
  • 怎么从数据库A执行数据库B的存取过程那?
  • 紧急求救! 数据库大图象读取问题!
  • 紧急--数据库恢复????
  • 紧急求助!tomcat4.06服务mssql2000数据库取image字段会这么慢?
  • 紧急求助! 当我数据库取出数据为空时,怎么处理!
  • 求助!紧急!如何提取数据库字段中的E-mail
  • 数据库读取
  • 紧急求助数据库恢复
  • 紧急求助:关于数据库

关键词

  • 数据库
  • 代码
  • db
  • entryacl
  • dbdir
  • acl
  • localdomainservers
  • notesdbdirectory
  • notesdatabasedim
  • 后台

得分解答快速导航

  • 帖主:Lucern
  • freyild1979
  • yaorong
  • EANFS
  • hu97142
  • IBM123

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo