c# - 在 SSIS 的脚本任务中连接到 SQL 数据库

标签 c# sql sql-server ssis script-task

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

编辑

这行代码最终会抛出一个异常:

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

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

最佳答案

您不能在脚本任务中使用来自连接管理器的配置,例如: 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);

关于c# - 在 SSIS 的脚本任务中连接到 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11867639/

相关文章:

c# - 如何正确使用 EF 导航属性?

c# - 为 C# P/Invoke 调用 C++ dll 获取正确参数时出现问题

c# - 无法使 MSMQ WCF 窗口服务运行

sql - nvarchar 连接问题

java - SQL 查询未在 java 中执行

sql-server - 如何在linux ubuntu 14.04上远程访问MS SQL Server

c# - 如何在 C# 中匹配模式并提取其中的一部分?

mysql - MySQL 中的 LEFT OUTER JOIN 与 SUBSELECT

sql-server - 相当于 SQL Server 中表的 sp_helptext

php - #1064 - 你的 SQL 语法有错误 :help needed