筛选区块中使用自定义字段,报错 "Invalid object name 'json_each'."

* 描述问题

筛选区块中使用自定义字段,下拉菜单(多选)或者复选框时,报错 “Invalid object name ‘json_each’.”

个人观点:MSSQL 是没有 json_each 函数的,对应的应该是 OPENJSON,这可能是外部插件的适配层的BUG。

* 运行环境

  • NocoBase 版本: v2.0.9
  • 数据库种类与版本: SQL Server 13.0
  • 操作系统: Windows
    -浏览器及版本
  • 部署方式: Docker
  • Docker 镜像版本: nocobase/nocobase:2.0.9
  • NodeJS 版本:

如何重现

筛选区块中使用自定义字段:下拉菜单(多选)或者复选框,关联字段为 SQL Server 的 Integer 类型,实际使用时报错。

预期行为

截图



image

日志

{“level”:“error”,“message”:“Invalid object name ‘json_each’.”,“extra”:{“method”:“error-handler”,“err”:“Error\n at Query.run (/app/nocobase/node_modules/sequelize/lib/dialects/mssql/query.js:107:25)\n at /app/nocobase/node_modules/sequelize/lib/sequelize.js:315:28\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async MSSqlQueryInterface.rawSelect (/app/nocobase/node_modules/sequelize/lib/dialects/abstract/query-interface.js:434:18)\n at async POOrder.aggregate (/app/nocobase/node_modules/sequelize/lib/model.js:1277:19)\n at async POOrder.count (/app/nocobase/node_modules/sequelize/lib/model.js:1306:20)\n at async _Repository.count (/app/nocobase/node_modules/@nocobase/database/lib/repository.js:163:12)\n at async _Repository.findAndCount (/app/nocobase/node_modules/@nocobase/database/lib/repository.js:388:19)\n at async listWithPagination (/app/nocobase/node_modules/@nocobase/data-source-manager/lib/default-actions/list.js:115:27)\n at async list (/app/nocobase/node_modules/@nocobase/data-source-manager/lib/default-actions/list.js:138:5)\n at async middleware (/app/nocobase/node_modules/@nocobase/plugin-workflow-request-interceptor/dist/server/RequestInterceptionTrigger.js:143:5)\n at async triggerWorkflowActionMiddleware (/app/nocobase/node_modules/@nocobase/plugin-workflow-action-trigger/dist/server/ActionTrigger.js:61:7)\n at async dataTemplate (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/data-template.js:36:3)\n at async parseVariables (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/parse-variables.js:41:3)\n at async middlewares.add.tag (/app/nocobase/node_modules/@nocobase/acl/lib/acl.js:425:9)\n at async /app/nocobase/node_modules/@nocobase/acl/lib/allow-manager.js:118:7\n at async ACLMiddleware (/app/nocobase/node_modules/@nocobase/acl/lib/acl.js:314:14)\n at async setCurrentRole (/app/nocobase/node_modules/@nocobase/plugin-acl/dist/server/middlewares/setCurrentRole.js:124:3)\n at async AuthManagerMiddleware (/app/nocobase/node_modules/@nocobase/auth/lib/auth-manager.js:142:7)\n at async validateFilterParams (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/validate-filter-params.js:39:12)\n at async dataWrapping (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/data-wrapping.js:48:5)\n at async cors (/app/nocobase/node_modules/@koa/cors/index.js:64:16)”},“meta”:{“err”:“Error\n at Query.run (/app/nocobase/node_modules/sequelize/lib/dialects/mssql/query.js:107:25)\n at /app/nocobase/node_modules/sequelize/lib/sequelize.js:315:28\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async MSSqlQueryInterface.rawSelect (/app/nocobase/node_modules/sequelize/lib/dialects/abstract/query-interface.js:434:18)\n at async POOrder.aggregate (/app/nocobase/node_modules/sequelize/lib/model.js:1277:19)\n at async POOrder.count (/app/nocobase/node_modules/sequelize/lib/model.js:1306:20)\n at async _Repository.count (/app/nocobase/node_modules/@nocobase/database/lib/repository.js:163:12)\n at async _Repository.findAndCount (/app/nocobase/node_modules/@nocobase/database/lib/repository.js:388:19)\n at async listWithPagination (/app/nocobase/node_modules/@nocobase/data-source-manager/lib/default-actions/list.js:115:27)\n at async list (/app/nocobase/node_modules/@nocobase/data-source-manager/lib/default-actions/list.js:138:5)\n at async middleware (/app/nocobase/node_modules/@nocobase/plugin-workflow-request-interceptor/dist/server/RequestInterceptionTrigger.js:143:5)\n at async triggerWorkflowActionMiddleware (/app/nocobase/node_modules/@nocobase/plugin-workflow-action-trigger/dist/server/ActionTrigger.js:61:7)\n at async dataTemplate (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/data-template.js:36:3)\n at async parseVariables (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/parse-variables.js:41:3)\n at async middlewares.add.tag (/app/nocobase/node_modules/@nocobase/acl/lib/acl.js:425:9)\n at async /app/nocobase/node_modules/@nocobase/acl/lib/allow-manager.js:118:7\n at async ACLMiddleware (/app/nocobase/node_modules/@nocobase/acl/lib/acl.js:314:14)\n at async setCurrentRole (/app/nocobase/node_modules/@nocobase/plugin-acl/dist/server/middlewares/setCurrentRole.js:124:3)\n at async AuthManagerMiddleware (/app/nocobase/node_modules/@nocobase/auth/lib/auth-manager.js:142:7)\n at async validateFilterParams (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/validate-filter-params.js:39:12)\n at async dataWrapping (/app/nocobase/node_modules/@nocobase/server/lib/middlewares/data-wrapping.js:48:5)\n at async cors (/app/nocobase/node_modules/@koa/cors/index.js:64:16)”},“module”:“POOrder”,“submodule”:“list”,“method”:“error-handler”,“app”:“main”,“reqId”:“53bf4500-95a2-4857-92fa-53fc01e20b72”,“dataSourceKey”:“main”,“timestamp”:“2026-03-05 12:17:50”}
1Panel-nocobase-d6UW | {“level”:“error”,“message”:“response /api/POOrder:list?filter=%7B%22$and%22:[%7B%22FStatus%22:%7B%22$anyOf%22:[%222%22]%7D%7D]%7D&appends=RefBiller&appends=RefSupplier&sort=-FDate&page=1&pageSize=10&tree=false”,“method”:“GET”,“path”:“/api/POOrder:list?filter=%7B%22$and%22:[%7B%22FStatus%22:%7B%22$anyOf%22:[%222%22]%7D%7D]%7D&appends=RefBiller&appends=RefSupplier&sort=-FDate&page=1&pageSize=10&tree=false”,“res”:[{“message”:“Invalid object name ‘json_each’.”}],“action”:{“actionName”:“list”,“resourceName”:“POOrder”,“params”:{“filter”:{“$and”:[{“FStatus”:{“$anyOf”:[“2”]}}]},“appends”:[“RefBiller”,“RefSupplier”],“sort”:[“-FDate”],“page”:“1”,“pageSize”:“10”,“tree”:false,“resourceName”:“POOrder”,“actionName”:“list”,“values”:{}}},“userId”:1,“username”:“nocobase”,“status”:500,“cost”:17,“app”:“main”,“reqId”:“53bf4500-95a2-4857-92fa-53fc01e20b72”,“bodySize”:59,“timestamp”:“2026-03-05 12:17:50”}