2017-10-09 14 views
1

データソースからMDSデータモデルにデータをポンピングするSSISパッケージを開発中です。SSIS Execute SQLタスク - MDSモデルの検証

MDS Facilityエンティティを検証するSQL実行タスクがあります。ここで

はスクリプトです:ここでは

DECLARE @ModelName nVarchar(50) = 'DEV ERP' 
DECLARE @Model_id int 
DECLARE @UserName nvarchar(50) = 'System' 
DECLARE @User_ID int 
DECLARE @Version_ID int 
SET @User_ID =  (SELECT ID  
                 FROM mdm.tblUser u 
                 WHERE u.UserName = @UserName) 
SET @Model_ID = (SELECT Model_ID 
                 FROM mdm.viw_SYSTEM_SCHEMA_VERSION 
                 WHERE Model_Name = @ModelName) 
SET @Version_ID = (SELECT MAX(ID) 
                   FROM mdm.viw_SYSTEM_SCHEMA_VERSION 
                   WHERE Model_ID = @Model_ID) 
EXECUTE mdm.udpValidateModel @User_ID, @Model_ID, @Version_ID, 1 

は、タスクを実行しようとしたとき、私は取得していますエラーです:

[Execute SQL Task] Error: Executing the query "DECLARE @ModelName nVarchar(50) = 'DEV ERP' DECLAR..." failed with the following error: "SYSERR515|Cannot insert the value NULL into column 'EnterUserID', table 'MDS.mdm.tblEvent'; column does not allow nulls. INSERT fails., @ErrorNumber = 515, @ErrorProcedure = "udpSystemEventSave", line 60". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

私は私がすることはできませんので、どのように私はこの問題を克服することができます思っていました変数をNOT NULLの値として宣言します。その変数を渡す前に、どのようにレコードをチェックすることができます有効なレコードかどうか?

答えて

0
IF @User_ID IS NULL 
    BEGIN 

     -- Handle it here. 

    END 
; 
関連する問題