原文: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. net MVC 的八个扩展点

    net MVC 的八个扩展点 MVC模型以低耦合.可重用.可维护性高等众多优点已逐渐代替了WebForm模型.能够灵活使用MVC提供的扩展点可以达到事半功倍的效果,另一方面Asp.net MVC优秀的 ...

  2. python关于for循环的几个函数

    1.enumerate:返回2个值,1是当前的for循环的第几轮,2是循环得到的数值 enumerate works by supplying a corresponding index to eac ...

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

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

  4. Django - Django框架 简单介绍

    Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...

  5. MVC模块化架构

    全面解析ASP.NET MVC模块化架构方案 什么叫架构?揭开架构神秘的面纱,无非就是:分层+模块化.任意复杂的架构,你也会发现架构师也就做了这两件事. 本文将会全面的介绍我们团队在模块化设计方面取得 ...

  6. 面向服务的体系架构SOA

    面向服务的体系架构SOA 序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微 ...

  7. javascript - 浏览TOM大叔博客的学习笔记

    part1 ---------------------------------------------------------------------------------------------- ...

  8. Chromium

    Chromium多进程架构 多进程架构 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//Start_Here_Bac ...

  9. Ubuntu 12.04开启3D桌面特效

    1.设定软件源,更新软件 点击左边栏Dash主页(Ubuntu图标),输入更新管理器,会出现更新管理器,打开后点设置,弹出软件源对话框,为确保能够正常更新,选主服务器 点击检查,更新完后,点重启 2. ...

  10. 【原创】纯OO:从设计到编码写一个FlappyBird (二)

    第一部分请点这里. 续结前文,本文将实现Game类. 首先是实例变量.由上次的类图可以看出,Game类首先得具有如下实例变量: 0.Judge judge;1.SimpleDraw draw; // ...