我在网络服务器上运行我的应用: 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文件?
答案 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中访问它们。如果这样做,您可以查看您的邮件文件。这可能是最好的选择。