我是学习MDS的SQL Server开发人员。我通过登台表和Excel加载项加载了一些实体。
我正在尝试通过登台表更新MDS中的实体中的成员。我可以成功添加新成员,但是现有成员的任何属性更新都不会填充到实体视图中。导入过程成功运行且没有错误。
我尝试了ImportType = 0
和2,但都没有效果。当我设置为1时,正如预期的那样我得到一个错误。我还尝试使用NewCode
列更新代码值,但也没有更新。
我已经使用SSIS包设置了暂存数据,并且还使用直接T-SQL INSERT INTO
语句。
我对我创建的测试实体使用几乎相同的T-SQL INSERT
语句来加载新成员,然后在第二批中修改新成员的属性。
您是否有任何想法可以忽略更新,或者我可以尝试的建议?
答案 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
希望这会有所帮助。