无法访问Dataverse的StringMap表,需用于Dynamics 365选项集匹配求助
解决Dataverse中找不到StringMap表的问题
原因说明:StringMap表在Dataverse的SQL端点中并非以
dbo.StringMap的形式直接存在,它的功能被整合到了特定系统视图中,也可能是权限不足导致无法查看相关元数据。可行解决方法:
- 使用字段专属映射视图:每个选项集字段都对应一个
[实体逻辑名]_[字段逻辑名]_Map格式的系统视图,比如账户实体的状态字段对应account_statecode_map,直接查询该视图就能获取选项值与标签的映射关系。 - 查询元数据系统视图:通过
AttributeMetadata、OptionSetMetadata、OptionValue这几个系统视图关联查询,获取指定实体的所有选项集信息,示例SQL如下:SELECT am.LogicalName AS 字段名, ov.Value AS 选项值, ov.Label AS 选项标签 FROM AttributeMetadata am JOIN OptionSetMetadata osm ON am.OptionSetId = osm.MetadataId JOIN OptionValue ov ON osm.MetadataId = ov.OptionSetId WHERE am.EntityLogicalName = 'account' -- 替换为你的实体逻辑名 - 检查账号权限:确保连接Dataverse的SQL账号拥有系统管理员、系统定制员角色,或至少具备查看元数据的权限,权限不足会导致无法看到系统视图。
- 改用Dataverse Web API:如果SQL端点方式受限,可以调用Web API获取选项集元数据,比如针对账户实体状态字段,发送GET请求到
/api/data/v9.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='statecode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata/Options即可获取对应选项集信息。
- 使用字段专属映射视图:每个选项集字段都对应一个
内容的提问来源于stack exchange,提问作者aadithya sathishkumar
相关产品推荐
相关产品推荐

