本主题介绍对象命名约定,以及 Analysis Services 中的代码或脚本中不能在任何对象名称中使用的保留字和字符。
命名约定
每个对象都具有在父集合范围内必须唯一 Name 的和 ID 属性。 例如,只要每个维度位于不同的数据库中,两个维度可以具有相同的名称。
虽然可以手动指定它, ID 但在创建对象时通常会自动生成该对象。 一旦开始生成模型, ID 就不应该更改。 整个模型中的所有对象引用都基于 ID. 因此,更改模型 ID 很容易导致模型损坏。
DataSource 和 DataSourceView 对象对命名约定有显著例外。
DataSource ID 可以设置为单个点(.),该点不唯一,作为对当前数据库的引用。 第二个例外是 DataSourceView,它遵循为 DataSet .NET Framework 中对象定义的命名约定,其中用作 Name 标识符。
以下规则适用于 Name 属性 ID 。
名称不区分大小写。 同一数据库中不能有一个名为“sales”和另一个名为“Sales”的多维数据集。
对象名称中不允许有前导或尾随空格,尽管你可以在名称中嵌入空格。 将隐式剪裁前导空格和尾随空格。 这同时
Name适用于对象和ID对象。最大字符数为 100。
标识符的第一个字符没有特殊要求。 第一个字符可以是任何有效的字符。
保留字和字符
保留字采用英语,并应用于对象名称,而不是 Captions。 如果无意中在对象名称中使用保留字,将发生验证错误。 对于多维和数据挖掘模型,以下保留字不能在任何对象名称中使用。
对于表格模型,如果数据库兼容性设置为 1103,则某些对象的验证规则已放宽,不符合某些客户端应用程序的扩展字符要求和命名约定。 满足这些条件的数据库受到不太严格的验证规则的约束。 在这种情况下,对象名称可以包含受限字符,但仍通过验证。
保留字
辅助
CLOCK$
COM1 到 COM9 (COM1、COM2、COM3 等)
CON
LPT1 到 LPT9(LPT1、LPT2、LPT3 等)
NUL
PRN
不允许在 XML 中的任何字符串中将 NULL 用作字符
保留字符
下表列出了特定对象的无效字符。
| 物体 | 无效字符 |
|---|---|
Server |
命名服务器对象时,请遵循 Windows 服务器命名约定。 有关详细信息 ,请参阅命名约定(Windows )。 |
DataSource |
: / \ * \| ? " () [] {} <> |
Level 或 Attribute |
. , ; ' ` : / \ * & \| ? " & % $ ! + = [] {} < > |
Dimension 或 Hierarchy |
. , ; ' ` : / \ * \| ? " & % $ ! + = () [] {} <,> |
| 所有其他对象 | . , ; ' ` : / \ * \| ? " & % $ ! + = () [] {} < > |
异常:允许保留字符时
如前所述,特定形式和兼容性级别的数据库可以具有包含保留字符的对象名称。 允许使用扩展字符的表格数据库(1103 或更高版本)的维度属性、层次结构、级别、度量值和 KPI 对象名称可以包括保留字符:
| 服务器模式和数据库兼容性级别 | 允许保留字符? |
|---|---|
| MOLAP (所有版本) | 否 |
| 表格 - 1050 | 否 |
| 表格 - 1100 | 否 |
| 表格 - 1130 及更高 | 是的 |
数据库可以具有默认的 ModelType。 默认值等效于多维,因此不支持在列名中使用保留字符。
另请参阅
MDX 保留字
翻译(Analysis Services)
XML for Analysis Compliance (XMLA)