原文:ssis 到别的表查找临时变量值

etl过程过,往一个数据库表插入数据,插入的值往往需要到另外一个数据库读取。例如下面的客户跟踪,需要一个“项目ID”,这个ID需要到另一个数据库的一张表查找,找到后返回给“客户跟踪”任务流。

执行SQL任务“原项目ID”的配置如下图:
 
  

sql语句是:

if exists(SELECT * FROM dbo.TB_BBProject WHERE (PJ_Name = @PJ_Name))
     SELECT top 1 PJ_ID FROM dbo.TB_BBProject WHERE (PJ_Name = @PJ_Name);
else
     select –1
如果直接写:SELECT top 1 PJ_ID FROM dbo.TB_BBProject WHERE (PJ_Name = @PJ_Name),当这个查询没有数据返回的时候,ssis就会报道如下错误:
            无法为单行结果类型填充结果列。查询返回了一个空的结果集

这是因为“结果集”设置成单行,ssis就要求必须返回一行,不允许空行。
保存结果的变量“原项目ID”的数据类型需要设置成“Object”,在其他地方使用的时候,ssis会自动转成int类型,见下图:
在“OLE DB 源数据源”中使用“原项目ID”

“OLE DB 源”需要的查询参数需要使用“select * from tableName where fieldName=?”,只有ADO NET源才可以使用@参数名但是感到奇怪的是“ADO NET 源”(如下图)查询居然不可以设置查询参数:

ssis 到别的表查找临时变量值的更多相关文章

  1. ORACLE获取SQL绑定变量值的方法总结

      本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点.在此梳理.总结一下,方面日后查找.翻阅. 方法1:查询V$SQL V$SQL视图中 ...

  2. JavaScript判断变量值简单的方法

    今天在看一个动态web表单设计器的时候发现项目中的 一个写法 function sum_total(v){ if (!v) { v= 0; } } !v  这是什么写法?不过可以肯定的是,这是一种判断 ...

  3. JavaScript交换两个变量值的七种解决方案

    前言 这篇文章总结了七种办法来交换a和b的变量值 1 2 var a = 123; var b = 456; 交换变量值方案一 最最最简单的办法就是使用一个临时变量了,不过使用临时变量的方法实在是太l ...

  4. memcpy造成其他变量值改变

        以前C/C++遇到过很多很多的问题,有时候费了很久很久时间,很大很大的努力才解决.但是都没有记录下来,现在想想以前的遇到的问题,只知道这样的事情发生过,至于是什么问题,一点印象都没有了.所以遇 ...

  5. 黑马程序员-- C语言交换两个整数变量值几种函数比较

    总结了C语言中几种交换两个整数数值的函数,欢迎交流 #include <stdio.h> 使用多种交换变量值的函数比较 方法一:使用第三方临时变量 这种函数a,b只是值传递,实质上不能修交 ...

  6. C#交换两个变量值的多种写法

    在学习.Net/C#或者任何一门面向对象语言的初期,大家都写过交换两个变量值,通常是通过临时变量来实现.本篇使用多种方式实现两个变量值的交换. 假设int x =1; int y = 2;现在交换两个 ...

  7. 解决Myeclipse在调试(debug)时无法显示变量值问题

    解决Myeclipse在调试(debug)时无法显示变量值问题 突然发现myeclipse在调试时当鼠标放在变量上面时无法显示变量值了 ctrl+shift+D居然提示cannot be resolv ...

  8. $ORACLE_HOME变量值末尾多“/”惹的祸

    之前一直误以为$ORACLE_HOME变量的路径中末尾多写一个"/"不会有影响. 今天做实验时碰到一个情景,发现并不是这样. 环境:OEL 5.7 + Oracle 10.2.0. ...

  9. axure设置变量值

    以登录框为例设置axure变量值 1.打开axure,打开新页面命名为login,拖入一个矩形背景,命名:登录背景图 2.拖入标签控件和输入框控件分别命名为用户名:.userName.密码:.pass ...

随机推荐

  1. windows phone 获取手机图片库中图片(4)

    原文:windows phone 获取手机图片库中图片(4) 前置条件:手机和电脑未连接或连接电脑Zune软件关闭(与Zune软件连接时不允许访问图片库): 版本7.1 获取手机图片库图片的两种方式: ...

  2. sql语句用'in'执行多条语句时候,执行错误的解决方法

    一般报错是出现,无法将nvarchar类型转换为int类型 这是因为 SqlParameter  带参数  是不能用  , 分割的. 第一种解决方法就是  不用 SqlParameter  带参数的s ...

  3. [置顶] Codeforces Round #197 (Div. 2)(完全)

    http://codeforces.com/contest/339/ 这场正是水题大放送,在家晚上限制,赛后做了虚拟比赛 A,B 乱搞水题 C 我是贪心过的,枚举一下第一个拿的,然后选使差值最小的那个 ...

  4. Leetcode: Spiral Matrix. Java

    Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...

  5. JS获得URL参数

    使用JavaScript获得URL在参数值 方法一: function getUrlParam(name) {      var reg = new RegExp("(^|&)&qu ...

  6. 什么是 CGI,什么是 IIS,什么是VPS

    该公司来到天.我们所从事的事情在网站上.这对我来说确实是一个很大的挑战.个人一直从事Android,对于web而一个开发网站server知识的几乎为零.在这里应该说,现在我只是有一个技术人员,昨天相遇 ...

  7. Cocos-2dx-Lua中使用Luaj的完整示例(转)

    如何使用Luaj进行java与Lua之间的交互调用 一.主要分为两个大步骤,Lua工程的修改,android工程的修改 二.工程环境 开发工具:Cocos-Code-IDE Lua版本 : Lua 5 ...

  8. 检验身份证的正确性(C语言版本)

    /* check id_card * write by sndnvaps<sndnvaps@gmail.com> * ai -> a1 , a2, a3, a4, a5, a6... ...

  9. 使用commons-fileupload进行上传

    须要使用的包 这两个包在Apache官网上能够下载得到 commons-fileupload-1.3.1.jar是Apache的一个开源项目.废话不说直接说吧 前段页面 <form action ...

  10. uva 1401 dp+Trie

    http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Itemid=8&page=show_problem& ...