
SQL to model driven solution
Tagged: Appel, Contacts, Dataverse for Teams
SQL to model driven solution
Posté par Fred sur 22 novembre 2023 at 18h03Bonjour, j’arrive bien à importer des tables et données SQL dans ma solution model driven mais je ne trouve pas comment conserver/importer les relations de SQL vers dataverse ? Besoin d’aide please ;o))
PostID=EXcLVkHuhKhgcH5
Fred a répondu 1 year, 5 months ago 1 Membre · 10 Réponses- 10 Réponses
Tu utilises oui pour faire l’import des données?
CommentID=5OHpatvHgERrpgB, PostID=EXcLVkHuhKhgcH5
je suis passé par un flux de données avec une source “base de données sql serveur”
CommentID=bRzlOkYCe7KYZIG, PostID=EXcLVkHuhKhgcH5
Du coup, le plus simple me semble de créer une clé additionnelle sur la table parente qui se base sur la clé de ta table source.
Et du coup, pour les lignes enfants, tu passe le code parent dans la clé externe qui devrait être visible dans ton mappage pour la ligne enfant
CommentID=pOmZbxmDo10OTXo, PostID=EXcLVkHuhKhgcH5
aie je veux bien du détails là j’avoue que c’est pas très clair pour moi ;oP
CommentID=2eZOSXk1M7Zpf02, PostID=EXcLVkHuhKhgcH5
À cette heure là, je vais pas pouvoir aider bcp. Le pc est éteint.
Tu peux au moins commencer par créer une clé dans ta table parente, dans le designer de solution pour ta model driven. Va sur la table parente, menu Clés, tu en crées une nouvelle en sélectionnant le champ qui contient ton id source. Ça crée en fait un index supplémentaire sur cette table.
Ensuite, dans le dataflow, quand tu mapped ta table enfant, tu dois pouvoir voir la clé externe pour la table parente et il faut mapper avec l’ID source de la table parente.
Si pas clair, j’essaierai de faire des captures demain
CommentID=VT5EbjZdNJl79LV, PostID=EXcLVkHuhKhgcH5
bon j’ai essayé mais il me manque des infos donc preneur des captures ;o) merci d’avance.
CommentID=LTGh5KRUYvmGnuN, PostID=EXcLVkHuhKhgcH5
Voici un exemple avec deux tables :
Toto la table parent
Tutu, la table enfant (qui a une colonne lookup vers Toto)
Pour créer une clé secondaire, dans la table parent :
faire de même dans la table enfant si tu souhaites pouvoir faire de l’upsert de données (insérer et mettre à jour)
Dans ton Dataflow, à l’étape du mappage, tu mappe comme suit :
Sélectionne la clé secondaire de la table enfant
Mape la colonne avec l’ID SQL sur la colonne qui est liée à ta clé secondaire (enfant)
Mape l’id SQL parent avec la colonne de la relation (qui sera référencée NomDeLaTableParentCleSecondaireDeLaTableParent
et le tour est joué 🙂
CommentID=pDDROQzl3FuopGY, PostID=EXcLVkHuhKhgcH5
Hello, merci pour ce retour, j’ai essayé mais je n’y arrive toujours pas. De mon coté j’ai une table RESSOURCE en relation plusieurs à un avec une table OS. J’ai donc bien une colonne de recherche dans ma table ressource liée à cette relation. J’ai créé une clé dans ma table ressource qui pointe sur la dite colonne de recherche.
Ensuite je vais dans mon dataflow et sur la table ressource je sélectionne ma clé mais … je ne vois rien apparaitre ?SubCommentID=eZK53wY4A66JoWo, CommentID=pDDROQzl3FuopGY, PostID=EXcLVkHuhKhgcH5
Si c’est bien plusieurs ressources liées à 1 OS,
La clé nécessaire pour les relations est à créer sur la table OS et va apparaître dans le mappage au repère 3 sur mon Screenshot plus haut
La clé créée dans la table RESSOURCE ne servira qu’à identifier les enregistrements existants pour éviter de créer des doublons à chaque import
SubCommentID=sLkP1QwV7CMMsMP, CommentID=pDDROQzl3FuopGY, PostID=EXcLVkHuhKhgcH5
donc si je comprends bien ça doit ressembler à ça (image ci-après) mais la clé de la table os doit pointer sur quelle colonne ?
SubCommentID=oxRrsVERCFkCOsQ, CommentID=pDDROQzl3FuopGY, PostID=EXcLVkHuhKhgcH5
Connectez-vous pour répondre.