"string was not recognized as a valid datetime" 使用向导构建架构时

"string was not recognized as a valid datetime" when building schema with wizard

我使用多维数据集设计向导设计了一个 SSAS 多维数据集,使用自上而下的方法,即在关系数据库存在之前创建多维数据集。

完成包含时间维度的立方体设计后,我尝试运行 "Database" > "Generate Relational Schema..." 菜单选项。我已选择填充日期维度,但出现此错误:

string was not recognized as a valid datetime

可能是什么原因,我该如何解决?

我不知道是不是因为我使用的 Windows 已本地化为其他语言,但问题出在维度的 XML 定义中。

一旦了解,解决问题就很容易了:转到解决方案资源管理器,右键单击时间维度,然后选择"View Code"。这将打开维度的 XML 定义。在 XML 文件中查找 <CalendarStartDate><CalendarEndDate> 节点。就我而言,我找到了这些日期:

<CalendarStartDate>1/1/2015 12:00:00 AM</CalendarStartDate>
<CalendarEndDate>12/31/2008 12:00:00 AM</CalendarEndDate>

出于某种原因,架构生成工具无法解析该格式的日期。所以你必须将它们更改为有效的东西。如果您在维度文件中看到其他日期,您会发现它们采用 ISO 格式。所以将这些更改为该格式,如下所示:

<CalendarStartDate>2005-01-01T00:00:00Z</CalendarStartDate>
<CalendarEndDate>2008-12-31T00:00:00Z</CalendarEndDate>

运行 模式生成工具再次出现,瞧!它工作正常,模式已正确生成并且时间维度填充了预期日期。