web-dev-qa-db-fra.com

Où Microsoft Dynamics CRM stocke-t-il les valeurs OptionSet dans SQL Server?

Je fais une migration de données vers Microsoft Dynamics CRM 2011 et j'ai besoin d'effectuer des rapprochements avec la source pour m'assurer que tout s'est correctement chargé.

Pour ce faire, j'interroge le SQL directement dans SQL Server, mais je n'arrive pas à trouver où les données OptionSet sont stockées. Quelqu'un sait-il dans quelle (s) table (s) il est stocké?

25
Commander92

Ils sont tous stockés dans la table StringMapBase. Vous interrogerez via le code de type d'objet de l'entité, le nom de l'attribut, la valeur du jeu d'options et la langue et cela vous donnera la valeur d'affichage de l'attribut.

31
Matt

Juste un rappel! Utilisez FilteredStringMap pour continuer à être "pris en charge" par Microsoft!

12
SarjanWebDev

Voici une fonction SQL Server pour interroger le stringmap

CREATE FUNCTION fn_new_GetStringMapValue 
(
    @AttributeName nvarchar(100),
    @AttributeValue int
)
RETURNS nvarchar(4000)
AS
BEGIN
    DECLARE @Result nvarchar(4000)
    SELECT @Result = Value
    FROM dbo.FilteredStringMap
    WHERE AttributeName = @AttributeName AND AttributeValue = @AttributeValue

    RETURN @Result
END
GO
7
Sandor