Stored procedures Masterdata服务udpValidateModel过程

Stored procedures Masterdata服务udpValidateModel过程,stored-procedures,master-data-services,Stored Procedures,Master Data Services,我在MDS里有几张桌子 一个表(客户机)是通过SQL填写的,另一个是手工填写的主数据表(国家) 我对桌面客户端有一个业务规则: “名称必须是唯一的”,并且国家/地区没有b规则 我希望以编程方式验证数据,但不希望在Web界面的资源管理器窗口中单击“应用业务规则” 我找到了几个关于如何使用标题(udpValidateModel)中提到的sp来验证模型中所有实体的线程 嗯……这东西什么都没用。在更改业务规则或通过sql更新数据后,我可以在每个表中看到“等待重新验证”的validationStatus。

我在MDS里有几张桌子

一个表(客户机)是通过SQL填写的,另一个是手工填写的主数据表(国家)

我对桌面客户端有一个业务规则:

“名称必须是唯一的”,并且国家/地区没有b规则

我希望以编程方式验证数据,但不希望在Web界面的资源管理器窗口中单击“应用业务规则”

我找到了几个关于如何使用标题(udpValidateModel)中提到的sp来验证模型中所有实体的线程

嗯……这东西什么都没用。在更改业务规则或通过sql更新数据后,我可以在每个表中看到“等待重新验证”的validationStatus。无论我做什么,状态都不会改变(webui中的验证图标也不会改变)

我也尝试过验证,但同样的“什么都没有”发生

以下是SP:

DECLARE @User_ID int 
DECLARE @Model_ID int 
DECLARE @Version_ID int 

SET @User_ID = (SELECT ID FROM [MasterDataServices].[mdm].[tblUser]  where userName = SYSTEM_USER )

SET @Model_ID = (SELECT Top 1 Model_Id  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
                                WHERE Model_MUID = 'MYMODELID')

SET @Version_ID =   (SELECT Top 1 VersionNbr  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
   WHERE Model_MUID = 'MYMODELID' 
                   ORDER BY ID DESC )

EXECUTE [MasterDataServices].[mdm].[udpValidateModel] @User_ID, @Model_ID, @Version_ID, 1

有人能帮忙吗?

SP'udpValidateModel'工作正常,看起来您正在填充的参数不正确

您可以按以下方式更正此问题并尝试;确保系统用户对模型具有完全授权

SET @User_ID = (SELECT ID FROM [MasterDataServices].[mdm].[tblUser]  where userName = SYSTEM_USER )
SET @Model_ID = (SELECT Top 1 Model_Id  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
                 WHERE Model_MUID = 'MYMODELID')
SET @Version_ID =   (SELECT Top 1 VersionNbr  FROM [MasterDataServices].[mdm].[viw_SYSTEM_SCHEMA_VERSION]
                     WHERE Model_MUID = @Model_ID 
                     ORDER BY ID DESC )