web-dev-qa-db-fra.com

Se connecter à la base de données SQL dans la tâche de script dans SSIS

À l'intérieur d'une tâche de script dans SSIS, j'ai besoin d'appeler une base de données SQL. J'ai une chaîne de connexion qui a été créée lorsque j'ai ajouté la base de données au dossier des sources de données, mais maintenant je ne sais pas comment la référencer dans le code C #. Je sais comment faire cela dans le code derrière un site Web ASP, mais il semble que SSIS devrait avoir une méthode plus directe.

ÉDITER

Cette ligne de code finit par lever une exception:

sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);

Il indique: "Impossible de convertir un objet COM de type 'System._ComObject' en type de classe 'System.Data.SqlClient.SqlConection.'"

15
NealR

vous ne pouvez pas utiliser les configurations d'un gestionnaire de connexions depuis l'intérieur d'une tâche de script comme: conectionManager1.exceuteSQLStatment (...)

une fois que vous êtes "à l'intérieur" de la tâche de script dont vous avez besoin pour accéder au CM comme une 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);
21
Diego