如何使用 @NoteID 找到对应的Notes文档

Technote (troubleshooting)


问题

在你使用Notes的时候,可能会碰到带有特定NoteID的错误提示信息。这个NoteID对应着一个特定的文档。如何能通过该NoteID定位其对应的文档呢?

NoteID有两种格式:

十六进制格式:NT0000XXXX

例如: "Error validating user [user name] while processing calendar appointment (NoteID: NT000021AE) in <path to user's mail database.nsf>: Can't find user in Name and Address Book"

十进制格式:NoteID (XXXXX)

例如:"Unable to store document in NotesServerName <path to database.nsf> (NoteID =  1528610) from NotesUserName HD:Data:mail:USERMAIL.NSF (NoteID = 31714): Network operation did not complete in a reasonable amount of time; please retry"


解决问题

有很多种方法可以找到在错误提示信息中提及的通用Note标识(UNID)或者NoteID所对应的Notes文档。在Domino Administrator客户端提供了一个用以搜索通用Note标识(UNID)或者NoteID的选项。在Domino Administrator客户端中打开“文件”标签,点击屏幕右边的“工具”按钮,在其下拉列表中点击“数据库”>“查找注释”,输入NoteID用以查找对应的文档和设计元素。要求输入的NoteID是十六进制格式,可以键入十六进制格式NoteID的最后四位字符查找。如果NoteID为十进制,可以使用计算器将其转换为十六进制。提示:可以创建一个基于NoteID来显示文档的视图。详细介绍如下所述。

如果你没有权限使用Domino Administrator客户端,可以选择如下方法:

A. 下载NotesPeek,通过NoteID打开一个记录。通过在NotesPeek中选中一个数据库,并选择“数据”>“打开记录”完成。更多NotesPeek相关信息,请参考相关文档:

NotesPeek 1.53 Beta for ND6: A Tool for Viewing Notes Databases on Notes 6.x (#4005686)

B. 你可以使用 @NoteID 函数创建一个基于NoteID数值的分类视图。介绍如下。注意:这种方法只能定位文档。例如,假如你要定位一个设计元素(视图或者表单等),请使用上面已述的方法。

如何在数据库中通过 NoteID 来创建一个便于查找Notes文档的视图

有两种途径可以完成该视图的创建。

方法1:创建一个能通过十六进制的NoteID罗列文档的视图

1. 创建一个视图,第一列使用 @NotesID 函数,分类列。

这样将返回一列以字符“NT”开头的十六进制格式的NoteID信息。更多关于NoteID信息请参考文档“What Is a Note ID, and How Is it Determined?”(#1086523)。

例如:
NoteID
NT001752CE
NT001752DA
NT00175322
NT00175326
...

2. 将错误提示信息中的十进制NoteID转换为与之相应的十六进制的NoteID。

您可以使用Windows计算器程序(CALC.EXE)来完成这项转换。在计算器程序菜单中选择“查看”>“科学型”,选择“十进制”单选按钮,然后键入报错信息中的数字,比如 1528610。之后选择“十六进制”单选按钮。计算器将显示你所输入数字对应的十六进制值,例如:175322。

其它建议:

- 创建一个能够显示NoteID(十六进制)的Notes视图,以便于与错误提示信息中的NoteID相匹配。

或者

- 大多数电子制表程序提供十进制向十六进制的数值转换。

或者

- 使用科学计算器

3. 通过在你创建的NoteID视图中查找十六进制数值,来定位Notes文档。

例如:

NoteID
NT001752CE
NT001752DA
NT00175322  <====>  175322 这是在错误信息中提到的文档。
NT00175326
...

方法2:创建一个基于十进制NoteID来显示文档的视图

在第一个分类列使用以下公式创建一个视图。

First:=@Middle(@NoteID;9;1);
FirstN:=@TextToNumber(@If(First="A";"10";First="B";"11";First="C";"12";First="D";"13";First="E";"14";First="F";"15";First));
Second:=@Middle(@NoteID;8;1);
SecondN:=@TextToNumber(@If(Second="A";"10";Second="B";"11";Second="C";"12";Second="D";"13";Second="E";"14";Second="F";"15";Second));
Third:=@Middle(@NoteID;7;1);
ThirdN:=@TextToNumber(@If(Third="A";"10";Third="B";"11";Third="C";"12";Third="D";"13";Third="E";"14";Third="F";"15";Third));
Fourth:=@Middle(@NoteID;6;1);
FourthN:=@TextToNumber(@If(Fourth="A";"10";Fourth="B";"11";Fourth="C";"12";Fourth="D";"13";Fourth="E";"14";Fourth="F";"15";Fourth));
Fifth:=@Middle(@NoteID;5;1);
FifthN:=@TextToNumber(@If(Fifth="A";"10";Fifth="B";"11";Fifth="C";"12";Fifth="D";"13";Fifth="E";"14";Fifth="F";"15";Fifth));
Sixth:=@Middle(@NoteID;4;1);
SixthN:=@TextToNumber(@If(Sixth="A";"10";Sixth="B";"11";Sixth="C";"12";Sixth="D";"13";Sixth="E";"14";Sixth="F";"15";Sixth));
Seventh:=@Middle(@NoteID;3;1);
SeventhN:=@TextToNumber(@If(Seventh="A";"10";Seventh="B";"11";Seventh="C";"12";Seventh="D";"13";Seventh="E";"14";Seventh="F";"15";Seventh));
ID:=((SeventhN*@Power(16 ;6))+(SixthN*@Power(16 ;5))+(FifthN*@Power(16 ;4))+(FourthN*@Power(16 ;3))+(ThirdN*@Power(16 ;2))+(SecondN*@Power(16 ;1 ))+FirstN*@Power(16;0));
ID

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值