SSIS中,怎么自定义一个TASK,实现如下功能:传与参数:传入一个.txt文件(当然文件包含,文件路径(FilePath)+文件名称(FileName),如D:\TEST\1.txt),及两个string类型的输入参数,分别加vString1,vString2;及3个输出参数,一个是bool 类型的bReturn,一个是string类型的vResult1,一个是string类型的vResult2 实现功能:然后读取.txt(如:1.txt)文件内容,文件的第一行内容和vString1作比较,文件最后一行

0
SSIS中,怎么自定义一个TASK,实现如下功能:
传与参数:传入一个.txt文件(当然文件包含,文件路径(FilePath)+文件名称(FileName),如D:\TEST\1.txt),及两个string类型的输入参数,分别加vString1,vString2;及3个输出参数,一个是bool 类型的bReturn,一个是string类型的vResult1,一个是string类型的vResult2

实现功能:然后读取.txt(如:1.txt)文件内容,文件的第一行内容和vString1作比较,文件最后一行内容和vString2作比较,如果比较结果相同的话,返回一个True给bReturn,如果比较结果不相同的话,返回一个False给bReturn,然后把读取文件内容的第二行内容,赋给vResult1,把读取文件内容的第三行内容,赋给vResult2。这个具体怎么实现,求指点。
已邀请:
1

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2015-09-23 回答

在 Script Component 中就可以实现,可以在 SSIS 中定义变量,再传入 Script Component。
 
通过 C# 代码在 Script Component 中读取文件,可以实现你说的这种比较功能,根据比较的结果再赋值给变量,Script Component 运行结束就可以拿到变量的结果。
 
参考这两篇文章,看看如何通过 Script Task 或者 Script Component 传入变量并计算的,最后可以赋值给变量,中间的过程需要你自己动手实现 C# 编码。
http://www.flybi.net/blog/biwork/577 微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件
http://www.flybi.net/blog/biwork/579 微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug
获取变量-
// User Information
String loginUser = Dts.Variables["User::PV_LOGIN_USER"].Value.ToString();
String loginPwd = Dts.Variables["User::PV_LOGIN_PWD"].Value.ToString();
赋值给变量
141228557015997.png

 

 

要回复问题请先登录注册