Lotus Notes应用经验谈
出处:计算机世界网 作者:阿华 时间:2006-1-14 16:58:00
LOTUS公司发布的群件产品-LOTUS NOTES是办公系统软件的成功应用案例之一,它凝结了企业级电子邮件、分布式文档数据库与快速应用开发等三位一体的强大技术,完全集成了INTERNET技术,提供给用户完整的,以网络为中心的应用技术平台,是目前最优秀的办公系统开发、运行平台。通过几年来的应用,在颇受其益的同时,也发现了其本身的一些缺陷。本文所述的服务器平台为WINDOWS NT,网络环境为TCP/IP,以此为例,将个人的一点薄见写出来与同行共勉。 |
1.1 安装好WINDOWS 95/98后,增加MICROSOFT 网络用户,确定客户机和服务器之间能够以TCP/IP协议正常通信。 |
1.2 在WINDOWS95/98的工作目录下(如c:\windows)建立hosts文件,在里边说明notes服务器的IP地址和名字,举例如下(下边的hosts文件列出了3个notes服务器): |
如果定义了NOTES SERVER的域名(如nserver.unit.com),就可以通过域名(nserver)访问服务器,无须建立hosts文件。 |
1.3 从系统管理员那里申请到合法用户的ID文件,将其保存到软盘或其他可搜索的介质上备用。 |
1.4 将notes的安装盘插入,运行CD盘上\win32\install\install.exe 文件,开始安装,对一般用户来说,要选择“定制功能(C)-手动安装,选择想要安装的功能”一项,然后往下进行,依次选择“notes工作站”,“个人数据文件”,“附件阅览器”三项后,开始拷贝文件,并完成安装工作。 |
1.5 下边是配置notes工作站的过程:运行notes,选择协议TCP/IP和指定的NOTES服务器(如:nserver),选择从文件中读取用户标识符,从软盘上或其他可搜索介质上获取ID文件,即配置完毕,然后打开“文件”中的“数据库”选项,将应用图标加入就行了。至此,客户端安装完毕,可以投入使用了。 |
客户端的用户一般都有进入系统的密码,如果不想设置密码,可选择“文件”中的“工具”,再选中“用户标识符”,然后键入密码进入系统,再按“清除口令”按钮,输入原密码,按“确定”后,口令就被清除了。当然,用上述方法可以重新设置口令。 |
NOTES数据库存放数据的格式有别于其他数据库,如ORACLE、SQL SERVER等数据库,数据是按行、列整齐存放的,而引出NOTES库里的数据时,看上去就有点乱。但这种操作频繁应用到。例如,我们将库里的数据引出,到EXCEL里边重排后打印正规报表文件时,选择引出的格式就有些学问,一般选择TABULAR TEXT格式最好,它带有字段间隔,层次比较分明。还可以用Lotus Script编制,做数据的引出(或引入)工作。 |
用户ID是有期限的,如果到了规定期限后,就会失效,用户无法继续使用,需要到管理员那里重新申请一个ID,然后再装入系统。 |
在WINDOWS95/98系统下,根目录上的文件autoexec.bat和config.sys文件显得没什么作用,但是在安装notes时,必须安装autoexec.bat文件,并指出windows 95/98的工作路径,如:c:\windows,否则,notes系统不能安装。 |
6 安装时的“无效的TCP/IP Server”信息 |
如果出现“无效的TCP/IP Server”信息,往往是因为网络不通引起的,安装客户端的同时,必须保证客户端和服务器畅通。 |
7 为什么Lotus Domino卸载后再次安装新的服务器时安装不上? |
因为windows95/98提供的卸载工具不能完全把Notes卸载干净,上一次服务器的一些配置信息并未删除,如果第二次安装的服务器配置与第一次不同,你还需要把windows 目录下的Notes.ini,以及Notes\Data文件夹下的server.id 和cert.id文件删除掉方可。 |
8 为什么启动Lotus notes 4.6的个人Web浏览器访问intranet有时不能成功? |
因为在notes4.6与4.5不同,其增强了对Web的支持,几乎不用做任何设置就可以正常上网。如果出现个人Web浏览器不能访问Web页面,大部分情况是由于用户上次退出Notes时标识符选择了server.id,从而再次启动Notes的 Web浏览器后出现权限不够的提示信息,只要此时选择工具,切换标识符,选择合适的用户标识符,问题即可解决。 |
有时候,当一个Notes服务器因种种原因崩溃后,系统管理员需要重新生成该服务器,使得新生成的服务器和崩溃掉的服务器发挥同样作用。NOTE4.5中并没有提供一个实用工具实现服务器备份和恢复功能,所以系统管理员只能手工备份和恢复服务器。解决该问题的方法是:平时系统管理员手工备份服务器上的重要系统文件和应用数据库文件,重新生成该服务器时,利用备份的系统文件生成一个和原来一样的新服务器,然后重新安装应用系统,就可以实现服务器的恢复。系统管理员平时需要备份的系统文件包括:组织验证者标识符文件Cert.id、组织单元验证者标识符文件、服务器标识符文件Server.id、系统的公用通讯录文件names.nsf、系统管理员的用户标识符文件user.id、各个用户的标识符文件和邮箱文件、desktop.dsk、cache.dsk文件。以上这些文件通常都位于notes\data文件夹中。当第一次启动重新安装的服务器时,在“服务器设置”窗口中单击“高级选项”,出现“高级选项”窗口,在该窗口中,选掉“生成组织验证者标识符”、“生成服务器标识符”、“生成系统管理员用户标识符”,然后按“确定”按钮,关闭该窗口,继续服务器的设置过程。在接下来的设置过程中,系统会询问组织验证者标识符文件名、服务器标识符文件名和系统管理员用户标识符文件名,分别选择原服务器的组织验证者标识符文件、服务器标识符文件和系统管理员用户标识符的备份即可。当服务器设置完成后,用原服务器的公用通讯录文件、desktop.dsk、cache.dsk覆盖掉新服务器的同名文件,拷贝原服务器各个用户的邮箱文件的备份至新服务器相应的同名目录中,最后再拷贝原服务器上的应用系统文件的备份至新服务器相应的同名目录中。重新启动服务器即可。 |
通过电话线远程安装设置Notes客户机效率很低,通常至少需要半个小时,主要原因在于在安装设置Notes客户机的过程中,系统需要通过电话线在本地客户机上建立该用户邮箱文件复本,这一过程很耗时且容易失败。实际上,可以先在其他Notes客户机上建立远程用户邮箱文件的复本,当然这个Notes客户机最好通过局域网和服务器相连,然后把该复本直接拷贝到远程Notes客户机上即可。 |
11 如何实现NOTES客户机启动后,自动打开某一数据库? |
启动Notes客户机,选择“文件”——“工具”——“用户惯用选项”菜单命令,打开“用户惯用选项”窗口,单击“启动选项”按钮,选择启动NOTES后需要自动打开的文档数据库名,单击“确定”按钮即可. |
12 如何实现Notes客户机启动时进行场所选择? |
启动Notes客户机,选择“文件”——“工具”——“用户惯用选项”菜单命令,打开“用户惯用选项”窗口,选择窗口左边的“基本”图标,在“启动选项”中选中“提示选择场所”。这样,当Notes客户机启动时,会出现一个对话框,要求用户选择“场所”。 |
在NOTES中删除文档时,系统并不把文档马上删掉,通常先打上删除标记,在用户退出客户端时询问用户是否将文档永久删除,用户可以选择是否真的删除。这类似于win95中的回收站,可防止文档的误删除,但同时也给用户带来了不便,为了快速删除文档,可在打上标记后按F9键刷新,或者直接用剪切功能将文档直接删除。 |
如果你有多个通讯录数据库(names1.nsf,names2.nsf,names3.nsf),需要在发送邮件时可以同时选择不同通讯录中的用户,只需要修改notes.ini即可。 |
Names=names1.nsf,names2.nsf,names3.nsf |
注:如果修改服务器上的notes.ini就可以供所有人选择使用,如果修改工作站的notes.ini仅能本地数据库使用。 |
在Windows 95/98系统下,根目录上的文件autoexec.bat和config.sys文件显得没什么作用,但是在安装Notes时,必须安装autoexec.bat文件,并指出Windows 95/98的工作路径,如:c:\windows,否则,Notes系统不能安装。 |
在notes运行过程中,有时出现有下列提示的错误信息而退到DOS状态: |
Aapplication error occurred in the program Unknown crash information will be saved to the file NOTES.RIP in C:\notes\data Please report this crash to the vendor of the faulting application |
解决的方法是:在c:\notes目录下,运行qnc -u命令,再启动机器,以后就不会出现以上错误信息。其实这是 Notes的内存保护性措施,及时删除了Notes的文件也会显示,并显示找不到文件。因此需要修改注册表,把键名删除或其键值改掉即可。 |
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug] |
"Debugger"="c:\\notes\\qnc.exe -p %ld -e %ld -g" |
如果不喜欢它可以在DOS下(或WINDOWS的“运行”中)键入qnc –u,系统提示: |
使其不再运行。以后就不会出现以上错误信息。 如果你觉得还有必要的话可以再用qnc -i装载它。 |
17.1 新建一个空白数据库new.nsf,具有设计权限。 |
17.2 在Lotus Domino Designer中假装修改设计,使其在左边工具栏中留下快捷设计按钮。 |
17.3 退出所有Lotus Domino/Notes程序,在资源管理器中将new.nsf删除或重新命名,再将隐藏的数据库名称命名为new.nsf. |
17.4 进入Lotus Domino Designer,发现new.nsf的快捷设计按钮还存在,进入即可修改new.nsf。但此时的new.nsf是已经隐藏设计的数据库文件了。 |
17.5 这个方法仅能恢复自己隐藏的设计,如果要恢复别人隐藏的设计需要注册同名同姓的ID,并且组织名称也要相同。 |
为了防止用户删除特定的文档,我们可以使用QueryDocumentDelete。 |
例如, 在文档中设定一个状态域 UnProcessed, 以下代码可以完成这个功能: |
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant) |
Dim coll As NotesDocumentCollection |
Set coll = Source.Documents |
Set doc = coll.getFirstDocument() |
If doc.UnProcessed(0) <> "" Then |
Msgbox "You are not allowed to delete Unprocessed documents" |
Set doc = coll.getNextDocument(doc) |
假设有一个RTF域body ,是不可以用body=""来判断为空的,可以用以下程序来判断其是否为空。 |
Const lsERR_LSXUI_UNKNOWN_PROP = 4400 |
Const lsERR_LSXUI_INVALID_ARGS = 4401 |
Const lsERR_LSXUI_NO_WORKSPACE_WND = 4402 |
Const lsERR_LSXUI_NO_DATABASE_WND = 4403 |
Const lsERR_LSXUI_LSBE_DB_CREATE = 4404 |
Const lsERR_LSXUI_NO_DOCUMENT_WND = 4405 |
Const lsERR_LSXUI_LSBE_DOC_CREATE = 4406 |
Const lsERR_LSXUI_DOC_CMD_NOT_AVAILABLE = 4407 |
Const lsERR_LSXUI_FIELD_CMD_NOT_AVAILABLE = 4408 |
Const lsERR_LSXUI_CMD_NOT_AVAILABLE = 4409 |
Const lsERR_LSXUI_DOC_OBJ_NOT_VALID = 4410 |
Const lsERR_LSXUI_DOC_SAVE_CANCELLED = 4411 |
Const lsERR_LSXUI_NOTES_ERROR = 4412 |
Const lsERR_LSXUI_INVALID_LSX = 4413 |
Const lsERR_LSXUI_INVALID_STR_ARG = 4414 |
Const lsERR_LSXUI_INVALID_NULL_ARG = 4415 |
Const lsERR_LSXUI_NO_NOTE = 4416 |
Const lsERR_LSXUI_MODALEDIT_DIALOGUP = 4417 |
Const lsERR_LSXUI_QUERY_OPEN = 4418 |
Const lsERR_LSXUI_INVALID_OBJ_ARG = 4419 |
Dim ws As New notesuiworkspace |
Dim uidoc As notesuidocument |
Set uidoc=ws.currentdocument |
Call uidoc.gotofield("body") |
Messagebox("RTF IS NULL!") |
若在某台安装了KILL杀病毒软件的机器上安装NOTES时,有时会出现“不能改变文件属性”的出错提示而退出,此时只要将驻留的KILL监控程序关掉,即可以顺利过关。 |