如何从Web浏览器访问本地便笺数据库

时间:2016-02-18 21:01:52

标签: xpages lotus-notes

我在网络服务器上运行我的应用: http://myhost.com/mydatabase.nsf/Home.xsp

在主页上,我有一个按钮,点击我想访问的本地names.nsf而不是myhost.com。

这些行失败了:

var namesDB:NotesDatabase = session.getDatabase(null, "names.nsf");

此行返回myhost.com Domino数据库:

--CREATE TRIGGER ON ITX
CREATE OR REPLACE TRIGGER TRG_I_LAST_RECEIVED
  AFTER INSERT ON ITEM_TRANSACTION_LOG
    FOR EACH ROW
      WHEN (
        NEW.ITEM_CONDITION_ID =  5005                                               -- REPAIRED
        AND NEW.WORKCENTER_ID IN (5001,5006,5063,5000,5022,5062)   -- EWRC
        AND NEW.ORDER_ITEM_OPER_ID = 5009                                      -- Perform Exit Routing
      )
BEGIN
  UPDATE PART 
  SET LAST_REPAIRED = SYSDATE
  WHERE PART_NO = :NEW.ITEM_PART_NO
END;

是否还有其他方法可以打开本地PC上的NSF文件?

2 个答案:

答案 0 :(得分:2)

在这种情况下,服务器上运行的XPage不了解客户端计算机,代码完全在服务器上运行。因此,除非您可以使用请求计算机的名称来执行文件系统引用(我不建议),否则它将完全不同。

但是,据推测,您可以在XPiNC中运行应用程序 - 如果您愿意忍受那里的所有权衡,那么XPage将以与普通Notes应用程序相当的方式在本地计算机上执行。 / p>

顺便说一句(这与服务器/客户端屏障无关),我认为这些字符串会有自己的问题:JavaScript字符串中的反斜杠是一个转义字符,因此您必须将它们加倍解析为单个反斜杠,如"c:\\notes..."

答案 1 :(得分:1)

据我所知,你正在尝试的是不可能的。您的XPage代码正在服务器上运行 - 您可能会在PC上的浏览器中看到输出,但服务器上正在运行任何SSJS代码。所以它不知道你的本地names.nsf在哪里。这就像创建一个在服务器上运行的预定代理并访问您的本地名称.nf - 它不知道您的PC在哪里。

CSJS将在您的PC上运行,因此会知道您的names.nsf在哪里,但它无法打开NSF。

在“邮件首选项”中,可以将联系人同步到您的邮件文件,这需要能够在iNotes中访问它们。如果这样做,您可以查看您的邮件文件。这可能是最好的选择。