【问题标题】:import module from the module db in the query console从查询控制台中的模块 db 导入模块
【发布时间】:2016-05-22 07:39:18
【问题描述】:

从查询控制台执行测试代码时,是否可以导入位于模块数据库中的 XQuery 模块?我假设 QueryConsole 设置为仅从文件系统加载模块,这就是为什么我在尝试加载我的模块时找不到模块的原因。

我正在寻找一种简单的方法来测试我编写的 XQuery 代码,而我现在所做的只是将整个代码以及跨多个模块的所有函数粘贴到同一个查询选项卡中,以便进行测试.

对于如何为 MarkLogic 测试他们的 xquery 模块,有人有什么建议吗?

更新

我尝试了以下建议,指定内容数据库而不是模块数据库。但我还是没有成功。

我得到的错误是:

XDMP-MODNOTFOUND: (err:XQST0059) Module /AbbVie/authorization/lib/authorization.xqy not found

已解决

在尝试遵循建议时,我将库文件加载到了错误的路径中。

【问题讨论】:

    标签: marklogic marklogic-8


    【解决方案1】:

    是的,您可以使用查询控制台导入模块。为此,您首先要更改内容源。这是左上角的下拉菜单。它显示了所有数据库。如果您设置了应用程序服务器,它将配对应用程序服务器拥有的内容数据库和模块数据库。例如:

    Documents (Modules: /, server: App-services)
    

    第一个名称显示内容数据库。在括号之间,您首先获取模块数据库的名称,然后是模块根目录。如果是自定义应用服务器,您还可以在server: 之后看到应用服务器的名称

    所以,对您来说,选择正确的内容来源可能是个问题。一旦你这样做了,那么你只需要import module 就可以得到正确的模块。如果它是基于应用服务器的内容和模块数据库对,它将考虑应用服务器配置中的模块根。

    【讨论】:

    • 啊,你打败了我。随意从我的合并答案中删除文本。我会删除我的..
    • 仅在我身后几分钟。谢谢。我喜欢您提供的示例以及下拉菜单中给出的内容的解释。
    • 如果您想要的组合没有出现在列表中,请先创建一个具有正确组合的应用服务器。如果您不想为此创建应用服务器,则必须使用xdmp:eval 自己设置模块 db 和模块 root 等上下文..
    • 好的。也许我的问题是我在下拉列表中选择了模块数据库。我将尝试与模块db配对的内容db,并试一试。
    • 我用更多细节更新了我的问题。在下拉列表中选择内容数据库/模块数据库对不起作用。
    猜你喜欢
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2011-11-09
    • 2016-08-03
    相关资源
    最近更新 更多