20

在 SSIS 的脚本任务中,我需要调用 SQL 数据库。我有一个在将数据库添加到数据源文件夹时创建的连接字符串,但是现在我不确定如何在 C# 代码中引用它。我知道如何在 ASP 网站后面的代码中执行此操作,但是 SSIS 似乎应该有更直接的方法。

编辑

这行代码实际上最终抛出了一个异常:

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

它显示:“无法将‘System._ComObject’类型的 COM 对象转换为类类型‘System.Data.SqlClient.SqlConection。’”

4

2 回答 2

26

您不能从脚本任务中使用连接管理器中的配置,例如:conectionManager1.exceuteSQLStatment(...)

一旦您“进入”脚本任务,您需要像访问变量一样访问 CM:

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);
于 2012-08-08T15:21:01.627 回答
0

您必须检查您尝试实例化的连接的提供者。

您不能将OleDb.OleDbConnection连接转换为SQLClient.SQLConnection,参数不同。

于 2019-12-01T02:15:01.200 回答