Script Task 引用 package variable

Script Task 能够使用C#代码进行编程,许多复杂的逻辑都可以使用C# 脚本来实现,不仅灵活,而且强大。

1,能够传递package variable 给 Script Task ,并且Script Task 能够将Variable更新后返回给package。

示例中新建了两个Variables,VarCode和VarName,分别传递给Script Task。

2,在脚本中,SSIS提供两种方式访问变量,第一种方式比较简单,推荐使用。

            //读写变量 第一种方式
            string VarName = this.Dts.Variables["User::VarName"].Value.ToString();
            int VarCode = int.Parse(this.Dts.Variables["User::VarCode"].Value.ToString());

            this.Dts.Variables["User::VarCode"].Value = 2;

            //读写变量 第二种方式
            this.Dts.VariableDispenser.LockForRead("User::VarName");
            this.Dts.VariableDispenser.LockForWrite("User::VarCode");

            Variables vars=null;
            this.Dts.VariableDispenser.GetVariables(ref vars);

            string strName = vars["User::VarName"].Value.ToString();

            int iCode = int.Parse(vars["User::VarCode"].Value.ToString());

            vars["User::VarCode"].Value = 3;

            vars.Unlock();
时间: 2024-10-14 15:37:14

Script Task 引用 package variable的相关文章

Script Component 引用package variable

ScriptComponet 的变量分为两种类型,ReadOnly和ReadWrite,使用C#引用这两种类型的变量,有一点不同. 1,创建两个变量 2,将变量传递给script component 3,在script component中引用变量有两种方式 3.1 使用变量名作为来引用变量 int code = this.Variables.VarCode; //string name = this.Variables.VarName; //this.Variables.VarName = "

SSIS ->> Script Task

利用Script Task,我们可以做一些本身SSIS没能满足我们的,或者实现起来效果不够理想的.比如说我们想做一件这样的事情,去检查某个文件是否为空.如果我们通过Row Count组件来实现,性能上不理想,因为我又并不需要要知道究竟文件包含多少行数据.我们只需要简单地知道文件是否包含数据.我们可以通过写C#代码,去调用BinaryStream的方法来读取该文件的前几行就可以确定是否文件包含数据.总的来说,Script Task能做事情分几类:1) 读取和改变包的变量:2)读取包的属性:3)用C

ssis的script task作业失败(调用外部dll)

原文 ssis的script task作业失败 我的ssis作业包里用了一个script task,会查询一个http的页面接口,获取json数据后解析然后做后续处理,其中解析json引用了本地目录下的第三方的类库:Newtonsoft.Json.dll 在vs环境中调试包的时候报错 ? 1 2 3 4 5  在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Bo

微软 BI ssis 中的 script task中用代码直接调用 WCF / Webservice

背景: 在普通的C#项目中,可以直接调用 WCF / Webservice: 在微软BI的 ssis中,有 webservice任务组件,也可以直接调用简单的 WCF / Webservice; 偶这边的情况是,后端的 WCF中用的反射,所以在 ssis中的webservice任务组件中,死活不能识别 WCF对应的方法. 所以只能在ssis的 script task组件中,用纯代码的方式来调用WCF服务. 就这样,可能还是有问题:可能会碰到 不能识别 System.ServiceModel节点的

微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件

开篇介绍 大多数情况下我们的 SSIS 包都会配置在 SQL Agent Job 中周期性的按计划执行,比如每天晚上调用 SSIS 包刷新数据,处理 Cube 等.一旦 SSIS 包中出现任何异常,报错,那么配置在 SQL Agent Job 中的通知,邮件提醒就会把这些错误信息发邮件到指定的用户或者系统维护者,这样就起到了一个错误监控的作用. 但是在有的情况下,有一些自定义的 SSIS 调度框架的计划调度都不是通过 SQL Agent Job 配置来完成的.比如我以前在一个小项目中设计过一个

using SSIS script task to send email result

sometimes notification email is required to be sent so that receivers can know about the data load status. Following C# code in SSIS script task is composed to meet the requirement. 1. drag a SQL task to get data result and assigned full set to an ob

转 Refresh Excel Pivot Tables Automatically Using SSIS Script Task

Refresh Excel Pivot Tables Automatically Using SSIS Script Task https://www.mssqltips.com/sqlservertip/5946/refresh-excel-pivot-tables-automatically-using-ssis-script-task/ 原文地址:https://www.cnblogs.com/Tonyyang/p/10468749.html

js script中引用其他script

在需要引用目标js中引用其他js依赖项 可以使用这个方法直接在js顶部加入这一行即可 document.write("<script type='text/javascript' src='t2.js'></script"); 并且如果有多个js中引用同一个js文件 也不需要多次加载

System.Web.Script.Serialization引用找不到的问题

之前在项目中要使用JavascriptSerializer这个类,需要引入System.Web.Script.Serialization命名空间,但是在添加引用中找不到这个命名空间,后来才得知System.Web.Script.Serialization在System.Web.Extentions这个命名空间下,所以在添加引用中找到System.Web.Extentions这个命名空间添加至项目中即可.