主数据服务

时间:2015-12-23 19:30:44

标签: sql-server sql-server-2012 master-data-services master-data-management mds

我是学习MDS的SQL Server开发人员。我通过登台表和Excel加载项加载了一些实体。

我正在尝试通过登台表更新MDS中的实体中的成员。我可以成功添加新成员,但是现有成员的任何属性更新都不会填充到实体视图中。导入过程成功运行且没有错误。

我尝试了ImportType = 0和2,但都没有效果。当我设置为1时,正如预期的那样我得到一个错误。我还尝试使用NewCode列更新代码值,但也没有更新。

我已经使用SSIS包设置了暂存数据,并且还使用直接T-SQL INSERT INTO语句。

我对我创建的测试实体使用几乎相同的T-SQL INSERT语句来加载新成员,然后在第二批中修改新成员的属性。

您是否有任何想法可以忽略更新,或者我可以尝试的建议?

5 个答案:

答案 0 :(得分:0)

在临时表中查看您的批处理以查看是否发生了错误。如果“ImportStatus_ID”= 2,则记录无法导入。您可以通过查询显示导入失败原因的视图来查看失败的原因。该视图将命名为“stg.viw_EntityName_MemberErrorDetails。

以下是Microsoft链接供参考: https://technet.microsoft.com/en-us/library/ff486990(v=sql.110).aspx

希望这有帮助。

答案 1 :(得分:0)

如上所述,成员错误详细信息视图描述了错误 在MDS中更新时,请确保检查以下几点 1)将代码列放在INSERT语句中 2)使用时在INSERT查询中包括登台表的所有列 importType = 2(否则所有列都将更新为NULL)

答案 2 :(得分:0)

您应该将数据插入到临时表中,并将ImportType作为0或2以及批处理标签,然后运行登台存储过程以将数据从登台表加载到实体表。 SP将根据代码值将登台表中的数据与实体表中的数据进行比较,并更新实体表中的数据。

答案 3 :(得分:0)

虽然您可以更新stg.leaf表中的importstatus_id。      更新stg.C_Leaf      组      ImportStatus_ID = 0 虽然我认为它会强制数据准备好进行分段并加载到mdm实体。

答案 4 :(得分:0)

使用导入类型= 0将有助于您更新新属性,直到更新后的新属性具有NoT空数据。如果是这样,则更新将失败。重新检查实体中的数据。

如果这样不起作用。请尝试刷新Model中的缓存,然后尝试再次获取所有详细信息。

通过以下链接了解有关MDS中导入类型的更多信息: https://docs.microsoft.com/en-us/sql/master-data-services/leaf-member-staging-table-master-data-services?view=sql-server-2017

希望这会有所帮助。