You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级FME至2021.2后脚本提示「未指定SCHEMA数据集」如何解决?

FME 2021.2升级后SCHEMA_DATASET缺失错误解决办法

问题背景

升级FME从2016版本到2021.2后,运行原有脚本时触发错误提示:

No SCHEMA dataset name was specified (couldn't find a value for SCHEMA_2_DATASET' or SCHEMA_DATASET')

旧版本中仅填写部分参数(Project Name、Outline SHP、Parcel SHP #1、Attribute Name #1),其余留空即可正常运行,但新版本严格校验参数有效性导致报错。脚本中的DATASET定义如下:

#! <DATASET
#! NAME="SCHEMA_1"
#! OVERRIDE="-SCHEMA_1_DATASET"
#! DATASET="abc.shp"
#! />
#! <DATASET
#! NAME="SHAPE_1"
#! OVERRIDE="-SHAPE_1_DATASET"
#! DATASET="def.shp"
#! />
#! <DATASET
#! NAME="SCHEMA_2"
#! OVERRIDE="-SCHEMA_2_DATASET"
#! DATASET="ghi.shp"
#! />
#! <DATASET
#! NAME="SHAPE_2"
#! OVERRIDE="-SHAPE_2_DATASET"
#! DATASET="jkl.shp"
#! />
#! <DATASET
#! NAME="SCHEMA_3"
#! OVERRIDE="-SCHEMA_3_DATASET"
#! DATASET="mno.shp"
#! />

原因分析

FME 2021.2对参数的必填性校验逻辑进行了更新,旧版本允许未赋值的参数以NULL状态运行,而新版本会强制检查所有定义的DATASET参数是否存在有效值,未填写的SCHEMA_2、SCHEMA_3触发了校验规则。

解决方案

1. 标记未使用参数为可选

为不需要的SCHEMA_2、SCHEMA_3及对应SHAPE参数添加OPTIONAL="YES"属性,同时将默认DATASET设为空字符串,明确告知FME这些参数为可选,空值不会触发错误。修改后的代码片段:

#! <DATASET
#! NAME="SCHEMA_2"
#! OVERRIDE="-SCHEMA_2_DATASET"
#! DATASET=""
#! OPTIONAL="YES"
#! />
#! <DATASET
#! NAME="SHAPE_2"
#! OVERRIDE="-SHAPE_2_DATASET"
#! DATASET=""
#! OPTIONAL="YES"
#! />
#! <DATASET
#! NAME="SCHEMA_3"
#! OVERRIDE="-SCHEMA_3_DATASET"
#! DATASET=""
#! OPTIONAL="YES"
#! />

2. 删除未使用的DATASET定义

如果SCHEMA_2、SCHEMA_3及对应的SHAPE_2参数完全不需要,直接从脚本中删除这些DATASET块,彻底移除不必要的校验项。

3. 临时赋值占位文件(不推荐)

若不想修改脚本,可在运行时为未填写的SCHEMA参数指定一个空的shapefile作为占位,但这种方法会增加操作步骤,长期维护性较差。

内容的提问来源于stack exchange,提问作者Mritunjay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 00:47:32