如何通过SQL向SharePoint多值元数据列添加多个值?
我刚好处理过类似的Layer 2迁移工具对接SharePoint多值元数据的问题,给你梳理下正确的写法和背后的逻辑:
首先,你之前的尝试踩了一个常见的格式误区:Layer 2工具对多值元数据的分隔规则是用逗号分隔每个完整的“术语集;术语”条目,而不是用分号(分号已经用来区分术语集和单个术语了)。
可行的SQL示例
SELECT [其他业务字段], 'Qualifications;BA,Qualifications;BSc' AS [你的多值元数据列名] FROM [你的源数据表]
关键注意事项
- 分隔符要区分清楚:单个元数据项内部用
;分隔术语集和术语,多个元数据项之间用,分隔,工具才能正确解析每个独立的术语。你之前用Qualifications;BA;BSC会被当成“术语集Qualifications下的一个叫BA;BSC的术语”,自然匹配失败;重复写术语集但用分号分隔的话,工具无法识别多值边界,也会报错。 - 术语名称严格匹配:要确保SQL里的术语名(比如
BA、BSc)和SharePoint术语库中的名称完全一致,包括大小写、空格——比如你写的BSC如果和术语集中的BSc大小写不同,会导致匹配失败。 - 层级术语要写完整路径:如果你的术语是嵌套在子术语集里的(比如
Qualifications下的Degree子集中的BA),需要写完整路径:'Qualifications;Degree;BA,Qualifications;Degree;BSc'。 - 用GUID更稳定:如果担心术语名称可能变更,用术语的GUID替代名称更可靠,格式为:
'Qualifications;{BA的GUID},Qualifications;{BSc的GUID}',GUID可以在SharePoint术语库中导出或查看。
内容的提问来源于stack exchange,提问作者user3428422
相关产品推荐
相关产品推荐

