session.getDatabase returns 空

session.getDatabase returns null

我正在尝试在 beforePageLoad 事件上使用 JS 通过 Xpage 打开我自己的数据库。

我有这个代码:

var db:NotesDatabase = session.getDatabase("x", "y",false);
var dbCount = db.getAllDocuments().getCount();

X 包含服务器名称,y 包含数据库名称。我已经用其他数据库尝试过这个,但仍然一直为空,我尝试了不同的方式来访问数据库,但仍然没有结果。有什么建议可以让我寻找发生这种情况的原因吗?

硬编码路径的一个常见错误是文件路径中使用的反斜杠缺少转义字符。

检查路径并将单反斜杠 \ 替换为双反斜杠 \。另一种选择是使用单个 slah / - 它在两个平台(Windows 和 Linux)上都是有效的 directory/folder 分隔符。

我强烈建议不要在源代码中使用硬编码路径。某种形式的配置将解决您的问题(属性文件、配置文件、配置文件,...)-存储值不需要转义。

注意不要放前导“/”

这是正确的:

var mydb:NotesDatabase = session.getDatabase(null, "mydir/mybase.nsf", false);

还有:

var mydb:NotesDatabase = session.getDatabase(null, "mydir\mybase.nsf", false);

当使用 "" 而不是 "null" 来定位当前服务器时,它也有效。