SQL SERVER 2005 SSIS包设计:
有若干个独立的SSIS包,每个包都包含一个整型变量Month,我现在想设计一个总的SSIS包,使用执行SSIS包组件来调用这一系列包,采用文件系统,顺序执行。
我在总的SSIS包中创建变量Month,能不能将这个变量映射到所包含的这些包里的变量Month上?
主要目的是只需要输入一次变量值,所有的SSIS包都能顺序执行。
考虑过使用dtexec命令写语句来执行,这样就可以映射变量,但是这种方式需要启用xp_cmdshell,不方便,也可能带来不安全因素。
请达人指点,多谢。

解决方案 »

  1.   

    请梁大虾指点,我看了半天expressions也没发现怎么做,多谢。
      

  2.   

    在这些独立的包上.
    SSIS->包配置->添加->父包变量->然后写上你的父包的变量名->然后选择你的独立包的变量的value属性
    就可以了.
      

  3.   

    多谢梁大虾的指点,受教了。
    还有几点疑问,请帮忙解答下:
    1、我每个包都设有密码,我在父包创建了变量存储密码,传递到子包的Password项,好像不起作用,每次还要输入。
    2、我执行父包时没执行一个子包他都会跳出来,我可能需要循环执行多次,窗口太多,有没有选项可以让他窗口不要跳出来?
    谢谢!
      

  4.   

    1.应该不可以这样的.在使用"执行包任务"的时候,设置PASSWORD选项..
    2.我试了倒没这个问题.
      

  5.   

    你最终要如何执行这个SSIS包?如果通过存储过程,可以有多种方式,不光是用xp_cmdshell调dtexec,可以把SSIS包放在SQL AGENT里执行.
    如果是通过外界程序调用,就可以以CMD的形式调用dtexec,它有/password的参数可以传递密码.
      

  6.   

    那就看一下外部调用JOB的时候有没有什么参数形式可以传入.