今天,我在一个正在处理的OLAP多维数据集中收到一个奇怪的错误。尝试从SSAS或从Excel中的外部连接访问它时,收到类似于以下内容的错误:
'',十六进制值0x1A,是无效字符。第1行,位置325042770.(System.Xml)
[不知道为什么这个特殊字符显示为“->”符号,但是在将错误消息导出到文本后,我确定它是"SUB" character。显然是“ invalid character”。
我很想“ make sure that user hierarchy does not contain any invalid character.”,但是我不知道它的定义是什么,显然您不能将“ SUB”字符加载到多维数据集中,但是我不确定其他哪些字符可以或无法加载。
关于多维数据集维度名称,值和描述中允许和不允许的内容[various claims。总体而言,当我环顾documentation seems very sparse时,并没有提及“ SUB”字符。在某处有一些字符列表,或有关此主题的某种官方(或非官方)文档?
一位同事建议我根据XML规范验证所有输入,因为这些多维数据集是建立在XML之上的。我认为like this可以涵盖此角色,可能还会涵盖其他角色。可能会验证我所有的输入字符with the following:
System.Xml.XmlConvert.IsXmlChar
仍然不确定这是否覆盖了多维数据集中的所有无效字符,这两项都是我目前所能代替的最佳文档。