Adding a new user or modifying an exisitng user returns "Error: Column name or number of supplied values does not match table definition" after LDSD update.

Version 7

    Verified Product Versions

    Service Desk 7.8.xService Desk 2016.xAsset Manager 2016.xService Desk 2017.x

    Error message:

     

    Requires Access To:

    SQL Server Management Studio

     

    Cause:

    In many Service Desk deployments a consultant will add a trigger to the tps_user table, it's typically setup to attach the user's AD login to the tps_user_network_login table as well as perform various other functions. The MDM upgrade in newer releases has added a new column named tps_is_primary to the tps_user_network_login table and many triggers contained on the tps_user table perform an insert statement that needs to be updated to include this new column. This error can occur in the LDSD console or appear in the data import logs.

     

    Solution / Workaround:

    Many triggers are not built the same so this is an example pulled from an existing trigger, the naming and/or statement may be different in your database. This is usually the statement that inserts the entry into the network login table, a direct copy and paste of these lines will most likely not work in your environment.

     

    INSERT INTO tps_user_network_login
    VALUES (newid(), @userGuid, @networkLogin, 0)
    

     

    The key is the fourth value, 0, is passed through to fill the missing column. If you are not familiar with writing SQL scripts please consult your DBA for making these changes. Some locations may also have a trigger for updating group or user type information that could need to be considered as well. These triggers may not be related to the user network table and should be evaluated on a case by case basis.