Skip to main content

Getting Your Data Into Dynamics 365 - Data Migration

When doing an implementation of Dynamics 365, it is rare that a new system is being setup with no data needing to be brought into it.  When looking into how to get that data into the new system, it can be really confusing trying to decide which tool to choose.  In my experience, people tend to choose the tool to use based on price and this should really be the last thing to consider.  That is one of the reasons I will not talk about price in this post.  Instead I will stick to the Pro's and Con's for each tool and provide an overview of the tool and any experience(s) with each.

Here are the tools we will be looking at in this post:
KingswaySoft
SCRIBE Online
D365 Data Import Wizard
D365 Data Loader

KingswaySoft:
KingswaySoft is an integration toolkit built on SQL Server Integration Services (SSIS).  It is an on-premise solution (but can be cloud if installed on virtual machine in Microsoft Azure or Amazon AWS).  It can be used for integration, migration and replication.  In full disclosure I have not used KingswaySoft for a data migration yet, because of the reasons I list in the con's.  But, I have had clients that use it.  They offer a free download and developer license, so you can give it a try.

Pro's:
  • SSIS has been around for a long time and SQL developers are familiar with it.
  • Has starter packs that can be used to speed up development of mappings.
  • Easy integration with source control since development is done in Visual Studio.
Con's:
  • Since its built on SSIS you need to know the disadvantages of SSIS as well.
  • Can be intimidating is the user is not a developer, since you have to develop within Visual Studio or SQL Server Management Studio (SSMS).
  • Limited connections
SCRIBE Online:
SCRIBE Online is a product offered by SCRIBE for data integration, migration and replication.  This is the tool I use the most when it comes to migrating data into Microsoft Dynamics 365 and integrating with other systems.  It runs in the cloud and has an on-premise agent you install to access your on-premise data / systems.  There is also a cloud agent, if all your applications are already in the cloud.  They offer a free trial that you can use to see if it will fit your needs.

Pro's:
  • User interface is easy to understand and clean.
  • Runs in the cloud and uses a small tool (agent) to access on-premise data.  If all systems are in the cloud already then a cloud agent can be used so there is no need for an on-premise system.
  • Multiple connectors.  Makes it easy to connect to other systems and migrate the data into CRM.
  • API - They provide an API so you can access your instance programmatically.
  • Fast Connector Framework (FCF) \ Connector Development Kit (CDK) - If a connector doesn't exist you can use the FCF or CDK to create one.
  • Provide starter kits to speed up you data mapping. 
  • They offer a Dynamics 365 app, so you can monitor status from within CRM.
Con's:
  •  Sometimes there are caching issues and you have to clear browser cache to fix them.
  • To get mappings into source control it is a manual process, since you have to export them and copy them into a local folder.
D365 Data Import Wizard:
The Data Import Wizard is built within Microsoft Dynamics.   It allows for easy import of .csv, .xls, .xlsx and .zip files.  My vary first data migration was done with importing .xls files into CRM using the Data Import Wizard (it was not easy).  If you are doing a large or complex migration, I recommend staying away from this approach and using a different tool.  Only use this for small occasional imports.

Pro's:
  • Built within Dynamics 365.
  • Mappings saved in CRM for later use.
  • Great for small non-complex mappings.
  • Can be used with the CRM SDK / Developer Guide.
Con's:
  •  There is a limit to the file size you can use for importing data.  This means you will need to split up your data into multiple files, which can increase the possibility of data duplication.
  • If there is relationships to other entities in your mapping, it can be difficult to set all these and have them work consistently.
  • Tool is vary inconsistent when importing data.
D365 Data Loader:
This is a new tool that Microsoft has put out with Dynamics 365.  It was designed to help business go from CRM On-Premise to CRM Online.  This one I can not give a Pro's and Con's list to because it is a preview feature, which mean it still has issues and is not fully released yet.  I will say that it is a viable option of going from CRM On-Premise to CRM Online and both systems are identical.

Conclusion:
It can be really hard to choose a tool and say that it will work 100% of the time for all needs.  This is because everyone's needs are different and everyone's skill sets are different.  If I did have to choose one to use I typically choose SCRIBE Online because it is the most user friendly and the one that is easy for people to pick up on and maintain.

Comments

  1. Thanks for sharing valuable information about cloud migration. It is very helpful to understand on cloud migration.

    ReplyDelete

Post a Comment

Popular posts from this blog

Dynamics 365 v9 Unit Testing and .NET Confusion

Recently while creating a plugin for Dynamics 365 v9, I ran into an issue trying to connect to CRM via the tooling connector in my unit test project.  The underlying problem was that the .NET version I was using in my unit test was 4.5.2.  This was preventing me from being able to connect to CRM to create my organization service.  I updated the .NET version on my unit test project to 4.6.1 and was then finally able to connect.  I will also add that I am using the latest nuget package version for Dynamics 365 v9.

For consistence, I updated the plugin project I was working on to .NET 4.6.1.  Locally, everything was working great.  I was able to connect to CRM and make sure that all the methods I had written did what they where suppose to do using test driven development practices.

Then when publishing my plugin via the latest version of the plugin registration tool, I received an error and could not publish my plugin.  The error was due to the .NET version of my plugin project not bein…

SCRIBE Connector Development - Handling Array List

Are you working on creating a connector with SCRIBE's CDK?  In your connector do you have an array of strings or list of  strings that you need to pass?  SCRIBE makes this easy to do within the CDK and SCRIBE Online.

I came across this scenario on a connector I was creating that passes a JSON message to an API.  In the JSON message it had a list of strings for entity ID's. Here is an easy way to accomplish this:

1) Create you Property Definition as past or your Object Definition.
1: new PropertyDefinition 2: { 3: Description = "Use TOLIST() to pass in a list of entity id's.", 4: FullName = "Entity IDs", 5: IsPrimaryKey = false, 6: MaxOccurs = 1, 7: MinOccurs = 0, 8: Name = "PublishTo", 9: Nullable = true, 10: NumericPrecision = 0, 11: NumericScale = 0, 12: PresentationType = "string", 13: PropertyType = typeof(string).Name, 14: Use…

Getting Started Connector Development

One of the benefits of working with Scribe Online is how easy they make it to create connectors if one does not exist.  In this blog post we are going to look at how to get setup, if this is the first time you have made a connector for Scribe Online.  But, before we get into that, we should first make sure that a connector doesn't already exist that can handle what we need.

We can do this by looking in the Scribe Online Marketplace.  Still not seeing what you need?  Reach out to Scribe directly or ask in the Scribe forums if a connector exists for an application.  There are instances where a connector exists but is not listed in the marketplace.  An example of this is for a client that I built a connector for.  They didn't want to setup a system to run the on-premise agent, so they asked me to set up the connector to run on Scribe's cloud agent.  This meant that I had to submit the connector to Scribe for validation.  Once published the connector is in the Scribe marketpla…