none
DataMigration Sample RRS feed

  • Frage

  • Hallo zusammen,

    ich habe eine Frage zu dem Beispiel "DataMigration" welches sich im SDK befindent.
    Woran erkenn ich hier in welche Tabelle oder Entität die Daten eingetragen werden?

    Gruß
    • Typ geändert HeinzHerbert Mittwoch, 9. September 2009 12:12
    Dienstag, 8. September 2009 12:20

Antworten

  • Hallo Heinz, 

    die Frage von ckeller zielt darauf ab, dass der DMM nur für einen einmaligen Import von Daten gedacht und geeignet ist.

    Wenn du einen periodischen Import machen möchtest, wirst du um ein Zusatztool wie scribe, den Microsoft BizTalk Server oder eine Programmierung nicht herumkommen.

    Du solltest auf keinen Fall direkt in die SQL-Tabellen schreiben, das ist zum einen völlig unsupportet und zum anderen auch nicht einfach, da das CRM immer 2Tabellen pro Entität hat.

    Der beste und auch supportete Weg ist die Benutzung des Webservices, den CRM bereitstellt. Dieser ist im SDK ausführlich beschrieben.
     

    http://www.microsoft.com/downloads/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&DisplayLang=en


    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert HeinzHerbert Mittwoch, 9. September 2009 12:13
    Mittwoch, 9. September 2009 08:26

Alle Antworten

  • Hallo,


    Zeile 236 setzt das Ziel des Imports auf die Entität Firma (importFile.targetentityname = EntityName.account.ToString();)
    Zusätzlich wird bei jedem columnmapping die Zielentität auf Firma gesetzt (z.B. colMapping2.targetentityname = EntityName.account.ToString();)
    Dienstag, 8. September 2009 12:49
  • Hi,

    erstmal danke, dass hab ich jetzt kapiert.
    Aber bei dieser Art von Import wird ja wieder eine csv Datei erzeugt oder zumindest als Daten Container benutzt.
    Kann ich die Daten denn auch ohne dieses File importieren?

    Dienstag, 8. September 2009 13:50
  • Wo wird eine neue csv-Datei erzeugt?

    Auf Basis der beiligenden csv-Datei wird zuerst das Mapping (Datenzuordnung) erstellt. Mit Hilfe dessen werden danach die Daten aus der csv-Datei in das System importiert. Ohne Datenzuordnung kann kein Import stattfinden.

    Dienstag, 8. September 2009 14:02
  • zeile 232 // Create a logical file of the data being imported
                    importfile importFile = new importfile();

    Aber gibt es denn eine generelle Möglichkeit einen Import über c# zu machen der nicht auf ein CSV file zurückgreifen muss?
    Also das die Daten zb aus einem XML File kommen?

    Gruß
    Dienstag, 8. September 2009 14:39
  • Hallo,

    in der Zeile wird nur festgelegt, woher die Daten stammen. Es wird keine neue Datei erstellt.

    Du automatisierst momentan den Standard-Datenimport des CRMs. Dieser setzt auf Textdateien mit Trennzeichen auf. Zusätzlich wird eine Datenzuordnung benötigt, die bestimmt welche Elemente wie gemappt werden. XML kann dabei nicht verwendet werden.

    Wenn du Daten aus anderen Quellen (wie z.B. XML-Dateien) in das CRM laden möchtest, musst du "von Hand" in das CRM-System schreiben.

    --edit--

    Was mir gerade so einfällt:

    Zeile 239: importFile.content = ReadCsvFile("import accounts.csv");
    Du kannst natürlich auch den Inhalt irgendwoher als string beziehen, jedoch wird die Datenzuordnung trotzdem benötigt. Der Aufwand lohnt sich nur, wenn die Daten in der benötigten Form vorliegen und eine Datenzuordnung bereits existiert. Ansonsten würde ich direkt ins CRM schreiben.

    Geht es eigentlich um einen periodischen Input oder um eine einmalige Geschichte?
    Dienstag, 8. September 2009 14:46
  • Es handelt sich um ein periodischen Input.

    Mit direkt in CRM schreiben meinst du zB

    //new Contact
    contact contact = new contact();
    contact.lastname = "Herbert";
    contact.firstname = "Heinz";

    //create Contact in  CRM
    Guid createdContactID = service.Create(contact);


    Gibt es eigentlich eine Übersicht über alle Standard Entitäten von CRM? Vorallem würde mich interessieren welche Entität auf welche Tabelle im SQL zugreift?
    Mittwoch, 9. September 2009 08:01
  • Hallo Heinz, 

    die Frage von ckeller zielt darauf ab, dass der DMM nur für einen einmaligen Import von Daten gedacht und geeignet ist.

    Wenn du einen periodischen Import machen möchtest, wirst du um ein Zusatztool wie scribe, den Microsoft BizTalk Server oder eine Programmierung nicht herumkommen.

    Du solltest auf keinen Fall direkt in die SQL-Tabellen schreiben, das ist zum einen völlig unsupportet und zum anderen auch nicht einfach, da das CRM immer 2Tabellen pro Entität hat.

    Der beste und auch supportete Weg ist die Benutzung des Webservices, den CRM bereitstellt. Dieser ist im SDK ausführlich beschrieben.
     

    http://www.microsoft.com/downloads/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&DisplayLang=en


    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert HeinzHerbert Mittwoch, 9. September 2009 12:13
    Mittwoch, 9. September 2009 08:26
  • Hallo Heinz,

    Michael hat alles nennenswerte schon gesagt. Eine Übersicht über die Standardentitäten findest du hier: http://msdn.microsoft.com/en-us/library/bb887790.aspx
    Mittwoch, 9. September 2009 08:32
  • Hallo zusammen,

    danke auf jeden Fall für die Hilfe ihr habt mir schon sehr weiter geholfen.

    Gruß
    Mittwoch, 9. September 2009 11:56