zoukankan      html  css  js  c++  java
  • SSIS,参数坑

    首先我有一个这样的饿存储过程, @procGuid 这个是 存放 guId的字符串

    当如传入  0 的时候, @procGuid 会赋值,并且返回.

    declare @procGuid varchar(36)
    exec [cdc].[cdc_ssis_getdata_xmbj_olap] -1,@procGuid output
    print @procGuid;
    go

    然后 传入2的时候, 查询返回结果.

        declare @procGuid varchar(36)
        --set @procGuid='2B797933-28F5-4DEC-848F-F210BEA787DF'
        exec [cdc].[cdc_ssis_getdata_xmbj_olap] 2,@procGuid output 
        print @procGuid
        go

    现在这些准备好了以后, 准备 SSIS  包,

    任任务是这样的, 首先 执行 exec [cdc].[cdc_ssis_getdata_xmbj_olap] 0,@procGuid output 得到  procGui的的值, 然后当做参数,

    执行 exec [cdc].[cdc_ssis_getdata_xmbj_olap] 2,@procGuid output 查询数据,最后修改状态为 1表示执行完毕

    首先 Task任务开始是这样执行的 

     然后我要指定 这个  ? 所代表的参数. 

     变量自己先设定好, 这里要说明的是 参数的方向,  这里指定的 传出参数, 也就是存储过程的连对参数进行赋值后返回的,类似于 C# 里面的 out 参数.

    然后我执行  数据流任务 . OLEDB 数据源, 执行 sql命令文本, 这里我要传入参数.

       

       这个地方有个坑,上面 参数的名称, 看到没有, 是 0, 如果这里再写0, 执行的时候会说上面 @procGuid 没有赋值, 我愣是没搞明白, 我到底哪里没赋值.

        经过仔细排查后,发现坑在这里 

    这个地方的参数名称, 要写成 存储过程里面的参数名称才行, 而不是上面的 参数0, 这个真是坑了我好久.

     好了, 就这样了.

  • 相关阅读:
    Json的序列化与反序列化
    RelativeSource设定绑定方向
    Java导出Excel工具类
    CentOS配置ssh免密码登录
    CentOS为用户增加root权限
    CentOS安装RabbitMQ步骤
    CentOS配置主机名和主机映射
    CentOS配置静态IP
    Java执行系统命令工具类(JDK自带功能)
    Linux定时任务
  • 原文地址:https://www.cnblogs.com/mjxxsc/p/5614812.html
Copyright © 2011-2022 走看看