首页 > 开发 > 综合 > 正文

SQL2005 SSIS-在脚本组件中访问包变量

2024-07-21 02:12:08
字体:
来源:转载
供稿:网友
菜鸟学堂:

要想在脚本组件中访问包变量,首先必须设置脚本组件2个属性的值,如下
readonlyvariables
readwritevariables
这2值指定了哪些变量可以访问,哪些变量可以改写(如有多个变量则用逗号分隔),如果你没有指定上面2个属性的值,则不能在脚本组件的代码中访问包变量

下面我举一个从文件中加载内容到包变量的一个例子
 1、首先我们定义2个变量 filename 和 filecontents ,并指定其类型为 string
 2、拖曳一个脚本组件到控制面板上,并设置 readonlyvariables和readwritevariables 属性的值分别为 filename 、filecontents
 3、设计脚本组件的代码,如下 
 

 public sub main()
         dim errorinfo as string = ""
         dim contents as string = ""
 
         contents = getfilecontents(dts.variables("filename").value, errorinfo)
         if errorinfo.length > 0 then
             msgbox(errorinfo, msgboxstyle.critical, "error")
             dts.taskresult = dts.results.failure
         else
             msgbox(contents, msgboxstyle.okonly, "file contents")
             dts.variables("filecontents").value=contents
             dts.taskresult = dts.results.success
         end if
  end sub

 public function getfilecontents(byval filepath as string, optional byval errorinfo as string = "") as string
        dim strcontents as string
        dim objreader as streamreader
        try
            objreader = new streamreader(filepath)
            strcontents = objreader.readtoend()
            objreader.close()
            return strcontents
        catch ex as exception
            errorinfo = ex.message
        end try
    end function

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表