Populating the Entitymanager DB does not work

May 29, 2008 at 5:30 PM

I followed all the steps outlined in the documentation/readme,
and I am able to load testdata into CRM (they show up when i do an advanced find) using dbpopulator/RunPopulation.cmd.

Problem is, when i run the dbpopulator, it does not fill load any data into the local EntityManager database.

Yes, the documentation says i need to run emdbloader, but when you look at the
source, it doesn't do anything but to print a message to the console!

I have also tried to stop the local SQLEXPRESS-service just to force a crash, but still the dbpopulator does not complain...

Anyone who has run into this / been able to successfully load the EntityManager database?


Aug 16, 2008 at 1:54 PM

I have used the EMDBLoader to populate the entity manager database on mutiple occassins and its always worked.

It doesn't give you a lot of information while running, there is usally a delay while it runs (length of time depends upon data volumes - usually minutes) - I haven't looked at the source as it just works for me.

Do you have an EntityManager database in SQL Express (with tables etc) - that should exist before your run emdbloader, I believe the connection strings are in configsettings.xml - might be worth just checking they are correct along with the other settings for CRM services as well - and perhaps rebuild emdbloader to make sure it does build sucessfully and nothing is missing.

Good Luck!


Aug 19, 2008 at 1:18 AM
 That is correct, All EMDBLoader does is instantiate EntityManager instance which is the code that actually copies the data from CRM server to EntityManager DB. You will need to run EMDBLoader.exe to copy the data into EntityManager DB. DbPopulator.exe is the tool used to populate that data into CRM database.
Aug 19, 2008 at 1:25 AM


I understand now. I think you are getting confused between DbPopulator.exe and EMDBLoader.exe.

DbPopulator.exe is the tool that is used to populate the data into CRM Database. It deals with actual CRM Database and has nothing to do with the EntityManager database and hence why does not complain if you shut down the sqlexpress living in the client.

CRM_Perf_Benchmark toolkit tests CRM system. It uses a local database called EntityManager which exists in SqlExpress of the client which runs the benchmark. For the benchmark to run successfully, data needs to exist in EntityManager DB. The tool that copies this data from CRM Database to EntityManager Database is EMDBLoader.exe. This Tool is a shim layer on top of the EntityManager class which is the actual code that copies the data from CRM to EntityManager, uses this data and provides this information when the webtests ask for this data. This code is quite complex and feel free to debug through it to understand how it works. Another way to understand what this code does is by debugging through one of the webtests and walking through the code which will show the calls into EntityManager code and it's working.