Click here to Skip to main content
15,868,340 members
Articles / Web Development / ASP.NET
Article

Deployment Of Web Application Executing SSIS Package In Web Server.

Rate me:
Please Sign up or sign in to vote.
4.29/5 (8 votes)
4 Sep 2008CPOL2 min read 71.2K   30   9
This article describes the prerequisite needed for .Net And SSIS integrated deployment.

Sample Image - maximum width is 600 pixels

Introduction

Recently I was working on the module that has SSIS package that needs to be called from ASP.net web page. We have two production server one is web server (.Net Framework 2.0- IIS 6.0) and other one is Database server (SQL Server). The challenge we face was to deployed web application calling SSIS -Dtsx package from .net environment as a file system. This article describes prerequisites required before one go on for deployment into production.

1.Deployment Checklist And Important Notes

1.Installed Integration service In Web Server

Make sure Web server in which web application is going to be deployed has Integration service installed. It does not require database to be installed. This will help to include references Microsoft.SqServer.ManagedDTS in Global Cache Assembly.

Reference :

C#
       using Microsoft.SqlServer.Dts.Runtime;
        
       protected void btnExecute_Click(object sender, EventArgs e)
       {
            Application app = new Application();
            Package package = null;
            try
            {
            string fileName = 
Server.MapPath(System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName.ToString()));
            FileUpload1.PostedFile.SaveAs(fileName);
            
            //Load DTSX
            package = 
app.LoadPackage(@"D:\SSIS_ASP_NET\SSIS_ASP_NET_DEMO\SSIS_ASP_NET_DEMO\Package1.dtsx", null);
            
            //Global Package Variable
            Variables vars = package.Variables;
            vars["Business_ID"].Value = txtBusinessID.Text;
            vars["Business_Name"].Value = txtBusinessName.Text;
            
            //Specify Excel Connection From DTSX Connection Manager
            package.Connections["SourceConnectionExcel"].ConnectionString =
 "provider=Microsoft.Jet.OLEDB.4.0;data source=" + fileName + ";Extended Properties=Excel 8.0; ";
            
            //Execute DTSX.
            Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = package.Execute();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            package.Dispose();
            package = null;
        }
    }

Sample Image - maximum width is 600 pixels

Sample Image - maximum width is 600 pixels

Sample Image - maximum width is 600 pixels

2.If Migrated From SQL Server 2000 To SQL Server 2005

Database server having SQL server 2000 and SQL Server 2005 both installed in same box, make sure SQL server 2000 is stopped. Check the connection string in web application .See below if you get this error

"SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "[DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection.". 8/12/2008 5:31:38 PM SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "DestinationConnectionOLEDB" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. 8/12/2008 5:31:38 PM component "Destination - XXXX" (41) failed validation and returned error code 0xC020801C. 8/12/2008 5:31:38 PM One or more component failed validation. 8/12/2008 5:31:38 PM There were errors during task validation. 8/12/2008 5:31:38 PM "

Resolution to this to include instance name and port in DATA SOURCE property.

< data source=10.10.10.10/Yukon,1533;initial catalog=NorthWind;UID=xxx;PWD=xxx; Connect Timeout=300>

3.Web application having Enterprise Library

Add pooling =false in connection string to disable database connection pooling mechanism

< data source=10.10.10.10/Yukon,1533;initial catalog=NorthWind;UID=xxx;PWD=xxx; Connect Timeout=300;pooling=false>

Conclusion

Any corrections and inputs are most welcome.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Technical Lead
Australia Australia
Whatsup-->Exploring--> MVC/HTML5/Javascript & Virtualization.......!
www.santoshpoojari.blogspot.com

Comments and Discussions

 
QuestionExecute SQL Task Expression Pin
irfunme15-Oct-12 5:58
irfunme15-Oct-12 5:58 
GeneralFailure [modified] Pin
mallyonline20-Mar-11 5:12
mallyonline20-Mar-11 5:12 
GeneralMissing.....Microsoft.SqServer.ManagedDTS Pin
jeffrey reed24-Sep-09 9:30
jeffrey reed24-Sep-09 9:30 
San, Your example is very helpful, however, on my machine I can't find this dll. I have Vista, SQL 2008 Ent SP1, VS2008 SP1, and .NET 3.5 SP1. I thought I read somewhere else that I needed 3.5 SDK, but apparently there is no such thing yet. What else do I need to instal in order to be able to reference this file?

THanks, Jeff
GeneralRe: Missing.....Microsoft.SqServer.ManagedDTS Pin
Ravikumar Purad8-Aug-12 21:24
Ravikumar Purad8-Aug-12 21:24 
GeneralProblem in accessing SSIS package after deploying web application... Pin
avikerchithi23-Nov-08 2:14
avikerchithi23-Nov-08 2:14 
GeneralRe: Problem in accessing SSIS package after deploying web application... Pin
mbaocha6-May-09 16:48
mbaocha6-May-09 16:48 
GeneralRe: Problem in accessing SSIS package after deploying web application... Pin
pramodrenikindi21-Jul-09 18:14
pramodrenikindi21-Jul-09 18:14 
GeneralThanks for sharing Pin
Abhijit Jana4-Sep-08 18:45
professionalAbhijit Jana4-Sep-08 18:45 
GeneralRe: Thanks for sharing Pin
santosh poojari16-Sep-08 21:33
santosh poojari16-Sep-08 21:33 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.