Notes 开发中的几个小问题及其解决方法

1)数据库损坏错误,提示corrupt data error 
  A:采用好的数据库的数据库结构重构现有的数据库
       重构过程中,采用复制数据库的方式无法解决问题,因为如果把所有数据拷贝到新的数据库的时,就是
       使得现有的数据库的代办事宜失效

2)用户权限问题

   如何获得用户的数字id文件
   A:重新添加一个用户

   如何将现有用户更改为超级用户权限
   A:在names.nsf中修改

   如何将现有用户添加到manager组中

    A:将数据库拷贝到本地,按照local 方式打开,修改权限即可

3)不能运行javaagent,提示用户没有权限

    将系统的用户的权限设置中不只要设置成 manager组,而且要将script保存权限给与用户
    同时在服务器的安全性中将运行权付给用户或者所有用户


4) 多数据库查询
   
    domino支持 jdk 1.3 可惜现在不能支持jdk 1.4很多功能实现比较麻烦

   import lotus.domino.*;
   import java.util.Arrays;
   import java.util.*;
   import java.io.PrintWriter;
   import java.lang.*;

public class JavaAgent extends AgentBase {

 public void NotesMain() {
  //数据库初始,这里列出要查询的库
  String nsf_file[]={数据库名称};

  try {
   Session session = getSession();
   AgentContext agentContext = session.getAgentContext();

   // (Your code goes here)
    PrintWriter pw=getAgentOutput();
    String a_creator[];
    int a[];

     Agent agent = agentContext.getCurrentAgent();
      DbDirectory dir = session.getDbDirectory(null);
          String html_head="<LINK href=/"/crmStyle.css/" type=text/css rel=STYLESHEET>";
     html_head+="<SCRIPT language=javascript src=/"/cngone/onesrc.nsf/noborder.js/"></SCRIPT>";  
          pw.println(html_head);

          
          String head_line="<p align=center><span lang=zh-cn><b><font size=5 color=#000080>查询结果</b></span></p>";
          head_line+="<table style=border-collapse: collapse borderColor=#778899 cellSpacing=0 cellPadding=0 width=856

align=center border=1>";
          head_line+="<tr><td class=header width=41 bordercolor=#778899  align=center><b><span lang=zh-cn>序号

</span></b></td>";
     head_line+="<td class=header width=151 bgcolor=#5A69AD bordercolor=#778899 align=center>

<b><span lang=zh-cn>流程名称</span></b></td>";
     head_line+="<td class=header width=233 bgcolor=#5A69AD bordercolor=#778899  align=center> <b>文件

标题</b>(*点击标题察看详细内容)</td>";
     head_line+="<td class=header width=66 bgcolor=#5A69AD bordercolor=#778899 align=center><b><span

lang=zh-cn>来自</span></b></td>";
     head_line+="<td class=header width=66 bgcolor=#5A69AD bordercolor=#778899 align=center><b><span

lang=zh-cn>起草人</span></b></td>";
     
     head_line+="<td class=header width=102 bgcolor=#5A69AD bordercolor=#778899 align=center><b><span

lang=zh-cn>提交时间</span></b></td>";
     head_line+="<td class=header width=105 bgcolor=#5A69AD bordercolor=#778899 align=center><b><span

lang=zh-cn>起草时间</span></b></td></tr>";
     pw.println(head_line);
     //define var
     String temp_processlog="";
     String temp_submitdate="";
     String temp_submitman="";
     
     //end define
     
     int s_count=1;
     
     for(int i=0;i<5;i++){
         
          //System.out.println(title);
          //System.out.println("test");
     Database db = dir.openDatabase("cngone//"+nsf_file[i]);
     //System.out.println("TESTDIR"+db.getTitle());
          //DocumentCollection dc = db.search(" Station=/"2/"");
          DocumentCollection dc = db.search("CurUser=/"薛冬梅/"&Station=/"2/"");
          
     Document doc=dc.getFirstDocument();
          String temptitle=db.getTitle();
        
          while(doc!=null){
           //pw.println("test");
           //nsf_file[1]=doc.getItemValueString("creator");
 
          //a_fileos[]=doc.getItemValueString("FileOS");
      //TEST
           //System.out.println("TEST=CREATOR");
      //TEST
      String tr_start="<tr class=even>";
          pw.println(tr_start);
          
          String td_line="";
      Item item=doc.getFirstItem("FileSendDate");
      Item item2=doc.getFirstItem("FileDraftDate");
      Item item3=doc.getFirstItem("ProcessLog");
      Enumeration values=item3.getValues().elements();
      while(values.hasMoreElements())
      {
       temp_processlog=values.nextElement().toString();
      }
           temp_submitdate=temp_processlog.substring(0,10);
           temp_submitman=temp_processlog.substring(17,21);
       //test
       System.out.println(temp_processlog);      
           //pw.print(doc.getItemValueString("creator"));
           //String tempstr=item3.get();
           String tempstr="";
           //tempstr=tempstr.replaceFirst("|$","");
           String tempurl="/cngone/"+nsf_file[i]+"/0/"+doc.getItemValueString("FileIDOS");
           //System.out.println(tempurl);
           td_line+="<td>"+s_count+"</td>";
           td_line+="<td>"+temptitle+"</td>";
           td_line+="<td>"+"<a href=/"javascript:{openDoc('"+tempurl+"','文件

')}/">"+doc.getItemValueString("FileOS")+"</a></td>";
      td_line+="<td>"+temp_submitman+"</td>";

           td_line+="<td>"+doc.getItemValueString("creator")+"</td>";
           td_line+="<td>"+temp_submitdate+"</td>";
           td_line+="<td>"+item2.getDateTimeValue()+"</td>";
           
           //pw.println(doc.getItemValueString("FileOS"));
           //pw.println(doc.getItemValueString("FileIDOS"));
           //pw.println(doc.getItemValueString("CurActivityOS"));
           //pw.println("<br>");
           //pw.println(doc.getItemValueString("Process"));
           //pw.println("<br>");
           
           
           //pw.println(doc.getItemValueString("FileSendDate"));
           //pw.println(item.getDateTimeValue());
           
           pw.println(td_line);
           String tr_end="</tr>";
           pw.println(tr_end);
           
           //
           s_count++;
           doc=dc.getNextDocument();
          }
          
          
          //pw.print("test");
          
          
          }
    //print end line
    String tail_line="</table>";       
         //int matches = dc.getCount();
         pw.print(tail_line);
         
         //System.out.println
         //("Search of /"" + title + "/" found " + matches + " document(s) with curuser = /"admin/"");
    //println("test");
  } catch(Exception e) {
    e.printStackTrace();
  }
 }

5)如何通过命令替换所有库的文件

load convert cngone/k*.nsf  *  a.ntf

onsubmit
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值