在数据流任务组件中,OLEDB 命令转换组件对输入的每行数据调用TSQL,该组件能够把输入的数据作为参数,因此,该转换组件主要用于运行参数化的查询。

命令转换组件的配置十分简单,只有三个可编辑属性,位于Custom Properties下,如图:

SqlCommand 属性:要执行的SQL命令,使用 ? 代表引用一个参数,每一个参数都是一个外部列,参数的值来源于上游组件的输入。

组件的转换是逐行进行的,组件的输入分为:输入列和外部列,输入列是上游组件输入的数据流,而外部列是SQL命令使用的参数。

一,参数化查询

配置SQL命令中包含参数,参数值存储在外部数据列中,外部列的值通过组件的输入列传递,也就是说,需要建立参数和外部列的映射,输入列和外部列的映射。

1,配置命令属性(SqlCommand)

OLEDB 连接管理器使用?代表一个参数,按照参数出现的位置,?的序号从0开始,依次递增,OLEDB 通过序号来引用参数值。因此在SqlCommand属性中,

update dbo.test_data
set name=?
where id=?

2,配置列映射(Column Mappings)

输入列是上游组件的输入,目的列是SQL 命令中的参数,通过列映射(Column Mappings)的选项卡,配置输入列和参数的映射:

Param_0对应SqlCommand中序号为0的参数,Param_1对应SqlCommand中序号为1的参数,依次类推。

3,配置输入和输出属性

命令转换组件内部实现输入列和外部列的转换,可以通过ErrorRowDisposition属性,设置转换过程对错误的处理模式,分为三种模式:RD_IgnoreFailure(忽略错误),RD_RedirectRow(重定向到错误输出),RD_Failcomponent(组件失败)

点击External Columns选项卡的Param_x,可以配置参数的属性,配置DataType等属性

由于OLEDB命令转换组件是逐行执行命令的,每执行一次,都要连接数据库,其执行的效率是非常慢的,推荐通过把数据插入到暂存表,在数据库中执行批量数据更新。

OLEDB 命令转换组件的用法的更多相关文章

  1. curl命令转换成php源码

    curl命令转换成php源码 获取状态: curl -X GET -H "Content-Type:application/json" -H "Authorization ...

  2. Vue组件基础用法

    前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...

  3. layui(七)——rate组件常见用法总结

    layui中提供了rate组件,用法很简单,直接上代码. <div id="test1"></div> <script> layui.use(' ...

  4. Lookup 转换组件

    查找转换(Lookup)组件用于实现两个数据源的连接,实现的方式是嵌套循环.查找转换通常在内存中缓存查找数据集,然后在输入管道中,把输入数据的每一行都和缓存中的查找数据集进行比较,并输出匹配成功和失败 ...

  5. Centos7 环境下开机 自启动服务(service) 设置的改变 (命令systemctl 和 chkconfig用法区别比较)

    参考文章:  <Linux 设置程序开机自启动 (命令systemctl 和 chkconfig用法区别比较)> http://blog.csdn.net/kenhins/article/ ...

  6. MySQL中使用SHOW PROFILE命令分析性能的用法整理(配合explain效果更好,可以作为优化周期性检查)

    这篇文章主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下   show profile是由Jerem ...

  7. linux 中解析命令行参数(getopt_long用法)

    linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...

  8. 【React 6/100】 React原理 | setState | JSX语法转换 | 组件更新机制

    ****关键字 | setState | JSX语法转换 | 组件更新机制 组件更新机制 setState() 的两个作用 修改state 更新组件 过程:父组件重新渲染时,也会重新渲染子组件,但只会 ...

  9. Informatica PowerCenter 常用转换组件一览表

    原文地址:https://blog.csdn.net/yongjian1092/article/details/52176018 转换类型: 积极转换(Active):可以更改通过它来传递的数据行数, ...

随机推荐

  1. 使用 Roslyn引擎动态编译代码

    Roslyn引擎自2014年开源至今这么久,一直没怎么了解过,虽然VS2015早就集成了它. 以前老一套的动态编译方法在 .NET Core中似乎不再支持了,很多方法都是未实现的.下面就介绍如何在.N ...

  2. python类的内置方法

    1,__init__(self) 初始化方法,实例化一个对象的时候就会被执行 2,__call__(self,*args) 把实例对象作为函数调用,即实例化一个对象后,在对象后面加括号即可调用__ca ...

  3. Oracle EBS OPM 子库存转移

    --子库存转移 --created by jenrry DECLARE l_mtl_txn_rec mtl_transactions_interface%ROWTYPE; l_mtl_txn_lot_ ...

  4. 关于<asp:checkBoxList>控件的对齐方法

    定义和用法 TextAlign 属性用于获取或设置 CheckBoxList 项目的文本的文本对齐方式. 语法 <asp:CheckBoxList TextAlign="align&q ...

  5. 【转】Mybatis学习---MyBatis知识、原始Dao开发和mapper代理开发

    [原文]https://www.toutiao.com/i6594610137560777223/ 一.什么是MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及 ...

  6. gdb调试:

    1 简介      GDB(GNU Debugger)是GCC的调试工具.其功能强大,现描述如下:      GDB主要帮忙你完成下面四个方面的功能:      1.启动你的程序,可以按照你的自定义的 ...

  7. react-native-storage 使用笔记 持续更新

    React-native-storage是在AsyncStorage之上封装的一个缓存操作插件库,刚开始接触这个也遇到了一些问题,在这里简单记录总结一下,碰到了就记下来,持续更新吧 1.安卓下stor ...

  8. python第三十课--异常(raise关键字)

    演示: 1.手动抛出异常对象-->raise关键字 2.try-except代码不能解决语法错误 try: print('try...') raise TypeError('类型有误的异常') ...

  9. Locust环境搭建及应用-hc课堂笔记

    Locust环境搭建: 1,在命令窗口中,进入到python项目路径,如:d:\Pycharmproject\venv\Scripts 2,执行Scripts下的active.bat,进入到虚拟环境 ...

  10. input全选与单选(把相应的value放入隐藏域去)

    框架是Jquery 需求是: 页面上有很多复选框,1.当我选择一项复选框时候 把对应的值放入到隐藏域去 2.当我反选的时候 把隐藏域对应的值删掉.3.当我全选的时候 页面上所有的选择框的值一起放到隐藏 ...