尝试在 Marklogic 中设置 ODBC 服务器 - 获取正在使用的端口错误

Trying to set up an ODBC server in Marklogic - getting Port in Use error

我想创建一个 ODBC 应用程序服务器,它允许我们与 Marklogic 服务器的文档数据库建立 ODBC 连接。

我在查询控制台中的 xquery 下面 运行 -

xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";

let $config  := admin:get-configuration()
let $groupid := admin:group-get-id($config,"Default")
let $dbid    := admin:database-get-id($config,"Documents")
let $config2 := admin:odbc-server-create($config,$groupid,"8002-odbc-documents","/",8002,"file-system",$dbid)
return admin:save-configuration($config2)

它在 return 中给了我这个 -

[1.0-ml] ADMIN-PORTINUSE: (err:FOER0000) Port is currently in use Stack Trace In /MarkLogic/admin.xqy on line 19660 In appserver-create-with-config(<configuration/>, xs:unsignedLong("7455364825454068467"), <odbc-server xmlns="http://marklogic.com/xdmp/group"><odbc-server-name>...</odbc-server-name>...</odbc-server>, "odbc")

In appserver-create-with-config(<configuration/>, xs:unsignedLong("7455364825454068467"), <odbc-server xmlns="http://marklogic.com/xdmp/group"><odbc-server-name>...</odbc-server-name>...</odbc-server>, "odbc")

In /MarkLogic/admin.xqy on line 13307

In function() as item()*()

In function() as item()*()`

======

我试过将端口更改为其他端口,但仍然出现同样的错误。

除了首先双重(和三次)检查您尝试使用的端口并确保它们尚未被 MarkLogic 应用程序服务器或其他服务使用之外,不知道该告诉您什么那个主机。

我只是 运行 您上面提供的代码并收到相同的错误响应,因为我已经在 8003 上有一个应用程序服务器。我将它更新为 8023 并成功创建了 ODBC 应用程序服务器。

我使用相同的端口号 (8002) 并收到相同的错误。当我将端口更改为文档 (5432) 中显示的端口时,它起作用了。也许 8002 被 Marklogic 用于其他用途。在我们的测试实例上,它是监控端口。