Posted in Data Migration, Dynamics CRM, SSIS

{Integration Services Deployment wizard – AppCrash}

Hello Everyone,

Hope everyone doing good and preparing for long vacation 😉  Advance Merry Christmas and New year wishes to all.

Let’s discuss one of the issue faced in data migration… 

Earlier i faced an issue in deploying my SSIS package and shared the experience and how to overcome that in the below link.

Unable to create the type with the name ‘CRM’ (Microsoft.SqlServer.ManagedDTS)

Today I faced an another issue while deploying my packages in Pre-Production server. It’s something strange and new to me.

“isdeploymentwizard.exe is Crashes every time and unable to deploy the project” 

I have checked everything that’s used in the packages like

  • Third Party component installed properly or not
  • Changing Project to run in 32 bit or 64 bit run time
  • I have used BDD also. I have checked that whether BDD is installed or not

Still I faced the same issue. Then i checked the event viewer and found something useful.

Faulting application name: isdeploymentwizard.exe, version: 12.0.2000.8, time stamp: 0x5306c9c6

Faulting module name: dts.DLL, version: 2014.120.2000.8, time stamp: 0x5306c90b

Exception code: 0xc0000005

Fault offset: 0x0006f806

Faulting process id: 0x198

Faulting application start time: 0x01d25c4e8748942d

Faulting application path: C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\isdeploymentwizard.exe

Faulting module path: C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\dts.DLL

Report Id: 2f82e5ec-c842-11e6-80ca-005056af2141

Faulting package full name:

Faulting package-relative application ID:  

Highlighted line remind me that I have used SQL connections in my package. So possibly something related to SQL versions. Then I checked that SQL version which was used for developed are “SQL server 12.0.5203″. But the deployed SQL version is SQL server 12.0.2000“. It is lower than the developed version. To verify that just replaced the “dts.Dll” of higher version in deployed SQL server. Now am able to deploy it.

“So make sure that while deploying in different server, SQL version should be same as developed version.”

Do share your thoughts!! Keep Sharing !!

Posted in Data Migration, Dynamics 365, Dynamics CRM, SSIS

Data Migration SSIS Tips – 1

Recently we were migrating records from Source system to staging database and then to Dynamics CRM 2016 using SSIS.

Few issues are encountered while we migrating the large number of records.

Script component:

Some time we might require to use the script components because some conversion is not possible/not easy with SQL. In this case, number of columns which you processing will affect performance of the package.

How to improve ?

Avoid using the script component as much as possible

We can utilise the BDD – Balanced Data Distributor. It helps to parallelize the data flow. if you new to this, here is the link for more information (BDD – Balanced Data Distributor)

Try to use synchronised transformation. It’s better compared to Asynchronous. Ideally it’s up to the requirement. for better understanding, here is the link (Synchronous vs Asynchronous) 

Derived column:

The number of columns in derived columns also affects the performance of the package.

Then how to ?

Try not to use the derived columns as much as possible

If there is a need, we have to use. then use multiple “Derived columns” component for manipulation. Instead of doing all the manipulation in single “Derived column”. Significantly it will improve the performance

Data Conversion:

This component in SSIS which will help to convert the data type of column to another compatible data type. It’s just drag and  drop and easy to use. when you really care about the performance, then here we go. It does maintains the old column as well as converted column too.

Then how to ?

Try to do the conversion at source itself. It’s best as package don’t need to maintain the duplicate of it.

If the conversion is not possible at source, do the manipulation at staging.

Always, i prefer to have the manipulation in Stored Procedure. It really faster and it will not impact the performance as much as others.

Do share your knowledge on these..

Keep Sharing …

Posted in Dynamics CRM

Override the Exchange rates in Dynamics CRM

Today, we came across a scenario that we need to override the default behavior of exchange rate calculation. Whenever modifying the active records which has currency fields, money fields will be recalculated based on the exchange rate available in the system.  For some cases, we may need to stop this behavior. That means, instead of taking the exchange rate from currency master, It should take the user provided value.

After going through so many forums, we finally decided that we could go by intercepting the “RetreiveExchangeRate” message.

Two steps:

  1. Somewhere you have to maintain the custom exchange rates so that you can pass to the plugin while you intercept that. It purely depends on the situation.
    • Maintain your exchange rates in custom entity
    • Maintain your exchange rates in the same record itself
  2. Write a plugin which will intercept the message “RetreiveExchangeRate” and pass your exchange rates instead of the system exchange rates

Hope you got idea on how to Override the exchange rates in Dynamics CRM.

If you need code for this, Please ping me in comments.

Happy Blogging !!!