SSIS - Run SQL queries from a Script Task
Using OLEDB connection
Run a query that returns data (SELECT):
string connectionString = Dts.Connections["SqlServerConnectionName"].ConnectionString;
string queryString = "SELECT col, COUNT(*) FROM schema.MyTable GROUP BY col"
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
//Do something with the result
string colValue = reader.GetString(0);
int count = reader.GetInt32(1);
}
reader.Close();
}
Run a query that does not return data (DDL or procedures):
string connectionString = Dts.Connections["SqlServerConnectionName"].ConnectionString;
string queryString = "CREATE TABLE schema.MyTable([Id] int PRIMARY KEY, [col1] nvarchar(50))"
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
connection.Open();
command.ExecuteNonQuery();
}