Inside of a Script Task in SSIS, I need to make a call to an SQL database. I have a connection string that was created when I added the database to the data sources folder, however now I'm not sure how to reference it inside the C# code. I know how to do this in the code behind of an ASP website, however it seems that SSIS should have a more direct method.
EDIT
This line of code actually winds up throwing an exception:
sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);
It reads: "Unable to cast COM object of type 'System._ComObject' to class type 'System.Data.SqlClient.SqlConection.'"
In SQL Server Data Tools (SSDT), open the Integration Services project. In Solution Explorer, right-click Connection Managers, and click New Connection Manager. In the Add SSIS Connection Manager dialog box, select the type of connection manager, and then click Add.
Two programming languages are supported in the SSIS Script task: Visual Basic . NET and C#.
you cant use the configurations from a connection manager from inside a script task like: conectionManager1.exceuteSQLStatment(...)
once you are "inside" the script task you need to access the CM like a variable:
ConnectionManager cm;
System.Data.SqlClient.SqlConnection sqlConn;
System.Data.SqlClient.SqlCommand sqlComm;
cm = Dts.Connections["conectionManager1"];
sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);
sqlComm = new System.Data.SqlClient.SqlCommand("your SQL Command", sqlConn);
sqlComm.ExecuteNonQuery();
cm.ReleaseConnection(sqlConn);
You must check the privider of the connection that your are trying to instantiate.
You can't cast a OleDb.OleDbConnection
connection as a SQLClient.SQLConnection
, the parameters are different.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With