<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx</link><description>Today we welcome our guest blogger CRM MVP Darren Liu from the Crowe company. Many Microsoft Dynamics CRM (MSCRM) implementations involved integration with other systems. When I think of integrations between systems, the common approaches pop up immediately</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8468058</link><pubDate>Thu, 08 May 2008 03:39:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8468058</guid><dc:creator>caims</dc:creator><description>&lt;p&gt;It is a great way to import data into mscrm!&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8496496</link><pubDate>Mon, 12 May 2008 23:00:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8496496</guid><dc:creator>jason</dc:creator><description>&lt;p&gt;If i had to make 100's of batch updates to CRM, would I be better of using the CRM object model to update the db or use the web service? &amp;nbsp;Can the CRM web services handle 100's of updates simultaneously?&lt;/p&gt;
&lt;p&gt;Thanks for your help and this good article.&lt;/p&gt;
&lt;p&gt;jason&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8503023</link><pubDate>Wed, 14 May 2008 14:12:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8503023</guid><dc:creator>Finnur Eiríksson, Reykjavik Iceland.</dc:creator><description>&lt;p&gt;I have been using a similar approach.&lt;/p&gt;
&lt;p&gt;However if your project aims at doing:&lt;/p&gt;
&lt;p&gt;1. a create for new entries in your source and&lt;/p&gt;
&lt;p&gt;2. an update for all existing entries using fresh data from the source...&lt;/p&gt;
&lt;p&gt;a problem occurs when you have 10K entries or more since doing a direct update on the CRM database clearly outperforms doing the same update through the webservice interface.&lt;/p&gt;
&lt;p&gt;Please observe that you should NEVER EVER create entries in the CRM database, its a BIG NoNo, do that and you will burn in hell. In the case of doing updates that is not recommended by the Microsoft team, however I've been doing it for 2 years now in a number of CRM implementations without any problems what so ever.&lt;/p&gt;
&lt;p&gt;My approach uses 2 dataflows, one for creating an instance of the entity that you are working with, and a second dataflow that only does updates.&lt;/p&gt;
&lt;p&gt;If there is a unique identifier present in your source data you could use this approach.&lt;/p&gt;
&lt;p&gt;Let me explain...&lt;/p&gt;
&lt;p&gt;Lets say that you are working with the Account entity and have something like social security number. Do an inner join between the source data and the Account table in the CRM database using a Merge Join shape and fetch the AccountId. If the join does not yield an AccountId (AccountId = NULL) would mean that a new entry has been added to your data source that is not present in the Accounts table. Use this information in a Conditional split, define an output that only contains source entries that are not present in CRM and then do a create using Darrens solution as described above.&lt;/p&gt;
&lt;p&gt;In the second dataflow read your source data do the same inner join as in the first dataflow and then do an update on the CRM tables involved using a OleDb destination shape. NOTE: when you do the update remember to include a WHERE statement using the AccountId fetched from CRM.&lt;/p&gt;
&lt;p&gt;Schedule your package in SSIS and create a job in the SQL Agent, then specify a schedule for the job so that it runs when you want it to.&lt;/p&gt;
&lt;p&gt;This is a feasible approach if you want a fast solution that runs on a dialy/hourly basis doing both creates and updates the data in CRM.&lt;/p&gt;
&lt;p&gt;As this is my first blog entry EVER, I hope that someone can make use of it. I relise that it's a bit cluttered. Good luck everone!&lt;/p&gt;
&lt;p&gt;FE&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8508867</link><pubDate>Thu, 15 May 2008 22:09:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8508867</guid><dc:creator>Or Hiltch</dc:creator><description>&lt;p&gt;Nice idea. This approach of using SDK via SSIS would be useful mainly becaus of the benefits SSIS gives you for parsing the input. &lt;/p&gt;
&lt;p&gt;Still, SDK creations are not a feasible solution by any means for scheduled integration tasks in large scale (I learned it the hard way after I had to rewrite projects because of the slow performance of the SDK). For that you should replace the sdk part with execute script tasks that insert/update from middle tables. It might be unsupported but it seems to be the best option.&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8539885</link><pubDate>Fri, 23 May 2008 18:46:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8539885</guid><dc:creator>Marcos</dc:creator><description>&lt;p&gt;Very nive article!!! I found it very interesting because I'm learning SSIS to integrate and keep synchronized my developments in GP with some entities in CRM.&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8556664</link><pubDate>Wed, 28 May 2008 18:30:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8556664</guid><dc:creator>Marcos</dc:creator><description>&lt;p&gt;I've tried this solution, but I get the error described below. I don't know what's wrong.&lt;/p&gt;
&lt;p&gt;Can you help me please? Thanks &lt;/p&gt;
&lt;p&gt;&amp;quot;Server was unable to process request.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at Crm.Proxy.CrmSdk.CrmService.Create(BusinessEntity entity)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at ScriptComponent_27fde95cbc6a4efcb88cd55a12cc0d04.ScriptMain.Input0_ProcessInputRow(Input0Buffer Row)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at ScriptComponent_27fde95cbc6a4efcb88cd55a12cc0d04.UserComponent.Input0_ProcessInput(Input0Buffer Buffer)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at ScriptComponent_27fde95cbc6a4efcb88cd55a12cc0d04.UserComponent.ProcessInput(Int32 InputID, PipelineBuffer Buffer)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)&amp;quot;&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8570355</link><pubDate>Tue, 03 Jun 2008 00:48:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8570355</guid><dc:creator>Alex</dc:creator><description>&lt;p&gt;Hello together,&lt;/p&gt;
&lt;p&gt;thanks giving me idea how to get the migration done, but i get a similar failure:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bei System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bei System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bei CRM.Proxy.CrmSdk.CrmService.Execute(Request Request)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bei ScriptComponent_2960c719f4304f45bebd2500037e9e67.ScriptMain.Eingabe0_ProcessInputRow(Eingabe0Buffer Row) in dts://Scripts/ScriptComponent_2960c719f4304f45bebd2500037e9e67/ScriptMain:Zeile 36.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bei ScriptComponent_2960c719f4304f45bebd2500037e9e67.UserComponent.Eingabe0_ProcessInput(Eingabe0Buffer Buffer) in dts://Scripts/ScriptComponent_2960c719f4304f45bebd2500037e9e67/ComponentWrapper:Zeile 29.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bei ScriptComponent_2960c719f4304f45bebd2500037e9e67.UserComponent.ProcessInput(Int32 InputID, PipelineBuffer Buffer) in dts://Scripts/ScriptComponent_2960c719f4304f45bebd2500037e9e67/ComponentWrapper:Zeile 21.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bei Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)&lt;/p&gt;
&lt;p&gt;System: CRM 3.0&lt;/p&gt;
&lt;p&gt;Task script:&lt;/p&gt;
&lt;p&gt;Imports System&lt;/p&gt;
&lt;p&gt;Imports System.Data&lt;/p&gt;
&lt;p&gt;Imports System.Math&lt;/p&gt;
&lt;p&gt;Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper&lt;/p&gt;
&lt;p&gt;Imports Microsoft.SqlServer.Dts.Runtime.Wrapper&lt;/p&gt;
&lt;p&gt;Imports Crm.Proxy.CrmSdk&lt;/p&gt;
&lt;p&gt;Imports System.Xml&lt;/p&gt;
&lt;p&gt;Imports System.Web.Services&lt;/p&gt;
&lt;p&gt;Public Class ScriptMain&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Inherits UserComponent&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Dim Service As New CrmService()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Public Overrides Sub Eingabe0_ProcessInputRow(ByVal Row As Eingabe0Buffer)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Service.Credentials = System.Net.CredentialCache.DefaultCredentials&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Service.Url = &amp;quot;&lt;a rel="nofollow" target="_new" href="http://localhost:5555/MSCrmServices/2006/CrmService.asmx&amp;quot;"&gt;http://localhost:5555/MSCrmServices/2006/CrmService.asmx&amp;quot;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim product As New product()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;product.name = Row.ARTBEZ&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;product.productnumber = Row.MASKENKEY&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim target As New TargetCreateProduct()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;target.Product = product&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim create As New CreateRequest()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;create.Target = target&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;service.Execute(create)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Sub&lt;/p&gt;
&lt;p&gt;End Class&lt;/p&gt;
&lt;p&gt;Could anybody help?&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;
&lt;p&gt;Alex&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8571203</link><pubDate>Tue, 03 Jun 2008 11:19:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8571203</guid><dc:creator>Alex</dc:creator><description>&lt;p&gt;Is there any solution for the problem above?&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8595046</link><pubDate>Sat, 14 Jun 2008 01:04:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8595046</guid><dc:creator>vladimir.ljubibratic</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Same issue as described above - Server was unable to process request. Any suggestions?&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;
&lt;p&gt;Vladimir&lt;/p&gt;
</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8602735</link><pubDate>Mon, 16 Jun 2008 06:01:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8602735</guid><dc:creator>Keelio Software</dc:creator><description>&lt;p&gt;If your looking at speeding up your integrations with SSIS and Dynamics GP with CRM you should take a peak at the Dynamics GP SSIS Toolkit at &lt;a rel="nofollow" target="_new" href="http://www.keelio.com"&gt;http://www.keelio.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8602738</link><pubDate>Mon, 16 Jun 2008 06:02:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8602738</guid><dc:creator>Keelio Software</dc:creator><description>&lt;p&gt;If your looking at speeding up your integrations with SSIS and Dynamics GP with CRM you should take a peak at the Dynamics GP SSIS Toolkit at &lt;a rel="nofollow" target="_new" href="http://www.keelio.com"&gt;http://www.keelio.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8769391</link><pubDate>Thu, 24 Jul 2008 17:29:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8769391</guid><dc:creator>SSIS4CRM</dc:creator><description>&lt;p&gt;The SSIS4CRM Proxy Generator helps you do all off this procedure from a nice tool.&lt;/p&gt;
&lt;p&gt;All you need to do is install the SSIS4CRM Proxy Generator , load it, provide the URL for your MscrnService.asmx or MetadtatService.asmx and the tool will read al the schema from this location, create a class library, compile it, give it a strange name, save it to the .Net folder on your computer and write it into the GAC.&lt;/p&gt;
&lt;p&gt;Now all you have to do is reference the DLL from the SSIS script component and use it.&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8787177</link><pubDate>Tue, 29 Jul 2008 07:56:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8787177</guid><dc:creator>setras</dc:creator><description>&lt;p&gt;Great article Darren, thank you. &lt;/p&gt;
&lt;p&gt;Marcos, Alex, and Vladimir: &lt;/p&gt;
&lt;p&gt;I also was encountering the Pipeline Buffer error noted above. &amp;nbsp;My CRM deployment was configured over port 5555. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;To resolve the issue I added the entry MaxUserPort to the CRM web Server registry &amp;nbsp;as detailed in the following Microsoft Support Article &lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/kb/Q196271"&gt;http://support.microsoft.com/kb/Q196271&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope this helps. &amp;nbsp;&lt;/p&gt;
</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8836565</link><pubDate>Wed, 06 Aug 2008 11:08:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8836565</guid><dc:creator>SSIS4CRM</dc:creator><description>&lt;p&gt;I made a tool that helps generates the DLL required to use from SSIS script component to write Microsoft SDK code. You can download this too for free from this location &lt;a rel="nofollow" target="_new" href="http://www.ssis4crm.com"&gt;http://www.ssis4crm.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#8954135</link><pubDate>Tue, 16 Sep 2008 20:04:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8954135</guid><dc:creator>Pam@Teccora</dc:creator><description>&lt;p&gt;This worked nicely on my dev box. &amp;nbsp;However in production i am getting an authentication error. &amp;nbsp;any ideas?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9045224</link><pubDate>Thu, 06 Nov 2008 00:31:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9045224</guid><dc:creator>sjh</dc:creator><description>&lt;p&gt;We are currently running CRM 4.0 and SQL Server 2005. &amp;nbsp;I have a request to load customer account and product information from our ERP system to the CRM. &amp;nbsp;I noticed a comment above to never create entries but doing updates even though it is not supported will work fine.&lt;/p&gt;
&lt;p&gt;Can I create entries and do updates and deletes or is there a preferred method for doing this? &amp;nbsp; &lt;/p&gt;
&lt;p&gt;Is SSIS the best way to accomplish the task?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9048183</link><pubDate>Thu, 06 Nov 2008 13:14:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9048183</guid><dc:creator>Payungsak Aramvuttanagul</dc:creator><description>&lt;p&gt;This is easy way for import to CRM entity.&lt;/p&gt;
&lt;p&gt;prerequesit : SSIS + .NET &lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9315290</link><pubDate>Tue, 13 Jan 2009 17:42:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9315290</guid><dc:creator>KS</dc:creator><description>&lt;p&gt;I am used the above method successfully on my development environment, but I am now trying to release on to the client server.&lt;/p&gt;
&lt;p&gt;On the client server the package can not find the proxy.dll file.&lt;/p&gt;
&lt;p&gt;Any ideas where I should place this, or do you have to create the dll and the package locally?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9340598</link><pubDate>Mon, 19 Jan 2009 22:31:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9340598</guid><dc:creator>Jeff W</dc:creator><description>&lt;p&gt;This article seems great for pushing data to CRM, however is it possible to do something similar for pulling information from CRM? I've looked and there seems to be very little online about getting CRM data out an into other systems using the web services. &lt;/p&gt;
&lt;p&gt;Maybe I'm missing something.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt; &amp;nbsp; Jeff&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9382806</link><pubDate>Thu, 29 Jan 2009 12:02:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9382806</guid><dc:creator>Peter</dc:creator><description>&lt;p&gt;Great article&lt;/p&gt;
&lt;p&gt;I would also like info on exporting data from CRM eg when a new account ois created would like to export account number, name, etc to an external database to then upload into GP or other. Any suggestions ?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9394573</link><pubDate>Wed, 04 Feb 2009 07:43:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9394573</guid><dc:creator>Shanmugam</dc:creator><description>&lt;p&gt;Hello everybody,&lt;/p&gt;
&lt;p&gt;I'm Shanmugam, new in this blog and also CRM, when i tried this solution, but I get the error described below. I don't know what's wrong.&lt;/p&gt;
&lt;p&gt;Can you help me please? Thanks &lt;/p&gt;
&lt;p&gt;Script Component: Runtime Error:-&lt;/p&gt;
&lt;p&gt;--------------------------------&lt;/p&gt;
&lt;p&gt;Script Component has encountered an exception in user code:&lt;/p&gt;
&lt;p&gt;Project name: SC_d7c1f95c7a6a4049a6cfeec1b58e20a0&lt;/p&gt;
&lt;p&gt;The request failed with HTTP status 401: Unauthorized.&lt;/p&gt;
&lt;p&gt; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at CRM.Proxy.CrmSdk.CrmService.Create(BusinessEntity entity)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at ScriptMain.Input0_ProcessInputRow(Input0Buffer Row)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at UserComponent.Input0_ProcessInput(Input0Buffer Buffer)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at UserComponent.ProcessInput(Int32 InputID, PipelineBuffer Buffer)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)&lt;/p&gt;
&lt;p&gt;So Plz anybody Help me.....&lt;/p&gt;
&lt;p&gt;Thank in advance&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9397777</link><pubDate>Thu, 05 Feb 2009 10:30:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9397777</guid><dc:creator>shanmugammsc</dc:creator><description>&lt;p&gt;Its Very Urgent Plz Help me quick,&lt;/p&gt;
&lt;p&gt;System Requirement :-&lt;/p&gt;
&lt;p&gt;MS CRM 4.0&lt;/p&gt;
&lt;p&gt;SQL Server 2008 SSIS&lt;/p&gt;
&lt;p&gt;that above article is not working for this specification. How to Use this plz tell me ...&lt;/p&gt;
</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9414951</link><pubDate>Thu, 12 Feb 2009 18:53:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9414951</guid><dc:creator>jack jones</dc:creator><description>&lt;p&gt;Darren, I get to about 4000 - 5000 records inserted, in the contact entity, using your example, and then I GET this error every time&lt;/p&gt;
&lt;p&gt;in my SSIS package: &amp;nbsp;(I have 50,000 records to insert!)&lt;/p&gt;
&lt;p&gt;Please Help!&lt;/p&gt;
&lt;p&gt;- Jack&lt;/p&gt;
&lt;p&gt;[Script Component [945]] Error: System.Net.WebException: The request failed with HTTP status 400: Bad Request. &amp;nbsp; &amp;nbsp;at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e) &amp;nbsp; &amp;nbsp;at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer) &amp;nbsp; &amp;nbsp;at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper90 wrapper, Int32 inputID, IDTSBuffer90 pDTSBuffer, IntPtr bufferWirePacket)&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9473248</link><pubDate>Fri, 13 Mar 2009 18:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9473248</guid><dc:creator>Halldor Johannson</dc:creator><description>&lt;p&gt;Jack Jones,&lt;/p&gt;
&lt;p&gt;If it always fails on the same record you should double check the data for that record if it is ok.&lt;/p&gt;
&lt;p&gt;If it is random between 4000-5000 the problem might be related to the connection being cutoff after a set amount of time this started happening in crm 4, if you are using the CRMWebService inserting then check your connection class and add the following line &amp;quot;YOURCRMWebServiceNAME.UnsafeAuthenticatedConnectionSharing = true;&amp;quot; make sure that once you are finished importing to put this value to false as this can pose a security risk.&lt;/p&gt;
&lt;p&gt;And ofcourse use at your own risk 8)&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9508113</link><pubDate>Wed, 25 Mar 2009 22:08:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9508113</guid><dc:creator>Darren Liu</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You might want to reduce your SSIS thread to 2 instead of 5. Also please check out a blog post by my friend Luke on increasing the sockets and decrease the tcp time waited delay on the server. It should help you resolving the web service issue.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.crowehorwath.com/cs/blogs/crm/archive/2009/01/15/crm-webservice-error-only-one-usage-of-each-socket-address-protocol-network-address-port-is-normally-permitted.aspx"&gt;http://www.crowehorwath.com/cs/blogs/crm/archive/2009/01/15/crm-webservice-error-only-one-usage-of-each-socket-address-protocol-network-address-port-is-normally-permitted.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regarding to doing this in SQL 2008, you might not need the Proxy class since you can call web service in a component. &lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9508116</link><pubDate>Wed, 25 Mar 2009 22:09:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9508116</guid><dc:creator>Darren Liu</dc:creator><description>&lt;p&gt;Forgot to post the URL for the blog.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.crowehorwath.com/cs/blogs/crm/archive/2009/01/15/crm-webservice-error-only-one-usage-of-each-socket-address-protocol-network-address-port-is-normally-permitted.aspx"&gt;http://www.crowehorwath.com/cs/blogs/crm/archive/2009/01/15/crm-webservice-error-only-one-usage-of-each-socket-address-protocol-network-address-port-is-normally-permitted.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9513257</link><pubDate>Fri, 27 Mar 2009 09:24:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9513257</guid><dc:creator>Maxim</dc:creator><description>&lt;p&gt;Great post. Thanks a lot.&lt;/p&gt;
&lt;p&gt;By the way can somebody tell me - can I use such approach to export data (for example accounts or contacts) from CRM 4.0?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9562216</link><pubDate>Wed, 22 Apr 2009 16:17:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9562216</guid><dc:creator>BHogan</dc:creator><description>&lt;p&gt;Does anyone know if this approach works with CRM Online? A webservice is a webservice ... right?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9631851</link><pubDate>Wed, 20 May 2009 11:37:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9631851</guid><dc:creator>Mona Salama</dc:creator><description>&lt;p&gt;Great article but is there is away to export from MS CRM into my Database ?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9799693</link><pubDate>Tue, 23 Jun 2009 19:11:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9799693</guid><dc:creator>kjo</dc:creator><description>&lt;p&gt;Is it possible to map sql data according to the ownership of the records and then import them into ms crm. Or is is possible to map multiple data tables to a single entity using SSIS??&lt;/p&gt;
</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9816699</link><pubDate>Fri, 03 Jul 2009 15:18:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9816699</guid><dc:creator>Finnur Eiríksson</dc:creator><description>&lt;p&gt;I have noticed that some of you are having trouble getting data out of CRM. I'm writing this with those of you in mind that have the task of keeping another system in synch with CRM, (i.e. CRM then being the Source and some other system being the Target).&lt;/p&gt;
&lt;p&gt;For those of you that are in the position that CRM is not the main source of data (like in a company where data changes are performed in two systems, in my case ADAM and CRM), the first option discussed below is in my opinion the right choice despite the drawbacks.&lt;/p&gt;
&lt;p&gt;Those of you that are in the sticky situation where data is changed in multiple systems (more than two) then I would advise you to turn your sights to the concept of Master Data Management, which is a totally different approach.&lt;/p&gt;
&lt;p&gt;I've tried a number of approaches when identifying the data set that has changed in my customers CRM system (i.e. the delta), mostly using SSIS and a CRM proxy class as proposed by Darren.&lt;/p&gt;
&lt;p&gt;The main issue here is that CRM is not very good at pushing data (or rather entries) that has changed.&lt;/p&gt;
&lt;p&gt;I propose three alternatives: &lt;/p&gt;
&lt;p&gt;(If anyone has other ideas, please share this with the resst of us ;)&lt;/p&gt;
&lt;p&gt;1. (push approach) &lt;/p&gt;
&lt;p&gt;Have a CRM programmer create workflows that pushes changes out of CRM and perform updates in the Target system through the target systems webservice. &lt;/p&gt;
&lt;p&gt;This solution (having CRM push data directly into the Target) a suboptimal approach with regard to system integration best practices since this type of integration pattern is known as point to point, which is OK if you're doing a simple integration soultion, but it will clutter up pretty quickly and you'll end up with a spaggetti integration scenario. &lt;/p&gt;
&lt;p&gt;If your Target does not have a webservice, then what you could do is to have the workflow write CRM entries to a change-table and then use SSIS from there on to the Target via OleDb or ODBC. &lt;/p&gt;
&lt;p&gt;This can also be done by creating a plug-in, instead of a workflow, that runs when data is changed in CRM.&lt;/p&gt;
&lt;p&gt;Remember that if CRM pushes changed data into a table into your change table, for SSIS to chrunch on and do the final step of porting data into the Target, it would be wise to only push the entity ID (AccountId, ContactId etc), and then have SSIS select from the change table and doing a distinct select (Like: SELECT distinct(AccountId) FROM dbo.YOURCHANGETABLE), so that multiple changes on the same Contact or Account only result in one single update on the Target system. SSIS then fetches fresh CRM data (including all relevant columns, even those that have not changed, otherwise you would have to implement delta analysis on column level) based on the ID in the change table and updates the Target.&lt;/p&gt;
&lt;p&gt;2. (push approach) &lt;/p&gt;
&lt;p&gt;Another approach that came into play with SQL Server 2008 is CDC/CDT, Change Data Capture/Change Data Tracking. (For info please visit: &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/en-us/library/bb933994.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb933994.aspx&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;This option is a good choice if you do not have extensive knowledge of the inner workings of CRM.&lt;/p&gt;
&lt;p&gt;CDC would then push data changes into tracking tables which SSIS reads from.&lt;/p&gt;
&lt;p&gt;Use CDC if you want to track changes on column level (if you want to know exactly which column has changed, the value before change and value after change, this could be useful for audit-trail or logging purposes). Use CDT if it's enough for you just to know which entries that have been changed in CRM.&lt;/p&gt;
&lt;p&gt;3. (pull + delta analysis)&lt;/p&gt;
&lt;p&gt;The third approach would be to have a SSIS package run periodically, and always keep a complete set of CRM data in intermediary tables, and the use the data set from last run and do a complete delta analysis with current CRM data using conditional splits or in code in a script component, in order to find out &lt;/p&gt;
&lt;p&gt;which entries have changed in CRM.&lt;/p&gt;
&lt;p&gt;This approach works fine in theory but its not really straight forward to implement this in SSIS. I ended up with a huge SSIS package with suboptimal performance once running in the production environment.&lt;/p&gt;
&lt;p&gt;Best regards and good luck!&lt;/p&gt;
&lt;p&gt;FE&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9820794</link><pubDate>Tue, 07 Jul 2009 01:25:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9820794</guid><dc:creator>David Withers</dc:creator><description>&lt;p&gt;Does anyone have the code converted to C#?&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9826765</link><pubDate>Thu, 09 Jul 2009 17:01:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9826765</guid><dc:creator>Finnur Eiríksson</dc:creator><description>&lt;p&gt;Try any code converter, like: &lt;a rel="nofollow" target="_new" href="http://www.developerfusion.com/tools/convert/vb-to-csharp/"&gt;http://www.developerfusion.com/tools/convert/vb-to-csharp/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;FE&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9826807</link><pubDate>Thu, 09 Jul 2009 17:20:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9826807</guid><dc:creator>Finnur Eiríksson</dc:creator><description>&lt;p&gt;A little more on Change tracking.&lt;/p&gt;
&lt;p&gt;This article discusses change tracking in SQL 2005. This might do the trick of pushing changes out of CRM (or rather SQL Server).&lt;/p&gt;
&lt;p&gt;I haven't tested it, but it seems to be promising ;)&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.sqlservercentral.com/scripts/change/67380/"&gt;http://www.sqlservercentral.com/scripts/change/67380/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;FE&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9864312</link><pubDate>Tue, 11 Aug 2009 15:51:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9864312</guid><dc:creator>DV</dc:creator><description>&lt;p&gt;I tried the same apporach in SSIS script task to import the data into CRM. But in my 64 bit system i am getting the following error:&lt;/p&gt;
&lt;p&gt;Unable to generate a temporary class (result=1).&lt;/p&gt;
&lt;p&gt;error CS0001: Internal compiler error (0xc00000fd)&lt;/p&gt;
&lt;p&gt;error CS0003: Out of memory&lt;/p&gt;
&lt;p&gt;System.Exception {System.InvalidOperationException}&lt;/p&gt;
&lt;p&gt;Please suggest.&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9865062</link><pubDate>Wed, 12 Aug 2009 01:18:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9865062</guid><dc:creator>Anne</dc:creator><description>&lt;p&gt;Nice post! This helped me get started with my integration project (newbie!). &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I run the above and get a success on finish, but 'wrote 0 rows'. &amp;nbsp;I put a debug on the Data Flow Path between the OLE DB Source and the Script component, and see all the records that are getting pushed/passed to the Script component. But yet 0 rows are written. &amp;nbsp;I can set this to push 1 row of data and it works fine.&lt;/p&gt;
&lt;p&gt;Any ideas?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;</description></item><item><title>re: Integrating CRM using SQL Integration Services (SSIS)</title><link>http://blogs.msdn.com/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx#9876691</link><pubDate>Thu, 20 Aug 2009 12:33:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9876691</guid><dc:creator>Jena</dc:creator><description>&lt;p&gt;If I run the SSIS package through a SQL JOB, I am getting the following error(FYI... running Package from developme is working fine):&lt;/p&gt;
&lt;p&gt;System.IO.FileNotFoundException: Could not load file or assembly 'CRM.Proxy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1161469184bd9e00' or one of its dependencies. The system cannot find the file specified. &lt;/p&gt;
&lt;p&gt;Please help.&lt;/p&gt;</description></item></channel></rss>