未加星标

SSIS OLE DB Source使用带参数的SQL命令

字体大小 | |
[数据库(mssql) 所属分类 数据库(mssql) | 发布者 店小二03 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

SSIS应用中,为了方便从数据源抽取数据,经常将OLE DB Source的SQL命令引入参数,本文主要记述在SQL命令中如何执行常参数的存储过程。

新建一个SSIS包PackageTest.dtsx,相关操作步骤如下:

1、新建数据流任务

在SSIS工具箱中拖入名为【数据流任务】的控件,然后右键-“编辑”该控件;

2、在数据流中添加OLE DB Source

从SSIS工具箱加入【OLE DB Source】控件,然后右键-“编辑”该控件,设置好OLE DB 连接管理器(OLE DB Connection Manager),数据访问模式(Data access mode)选择【SQL命令】(SQL Command),用于执行存储过程;

3、添加SQL命令文本 实际开发中,此处SQL命令文本为带参数的存储过程,执行语句为: EXEC [dbo].[Pro_GetWalletId] @DbName = 'WalletDB' ,将该语句写入【SQL命令文本】中, 注意将参数及其赋值替换为 ? ,最终变为: EXEC [dbo].[Pro_GetWalletId] ? ,另外需要注意: 若存储过程有多个参数,则用 , 将 ? 分开,且 ? 的数量与参数的数量保持一致; 在存储过程的开头添加以下两句:
SET FMTONLY OFF;
SET NOCOUNT ON;

至于要添加上述两句的原因,后面将会撰文叙述,最终如下图所示:


SSIS OLE DB Source使用带参数的SQL命令
4、配置SQL命令输入参数

上图中, ? 代表要输入参数,即该存储过程需要配置1个参数,点击【参数...】,打开参数设置,添加1个输入参数,注意在参数映射中(如下图), 参数 名称一定要与存储过程中定义的参数名称相同 , 变量 选择已经定义好的变量(该变量已通过其它方式赋值), 参数方向 选择“Input”(输入),即需要传入到存储过程中。


SSIS OLE DB Source使用带参数的SQL命令

除此以外,对于多参数,参数添加的顺序也要与存储过程中的定义相同,否则无法对应,或者在存储过程的语句把参数名加上。

本文数据库(mssql)相关术语:熊片数据库 mssql数据库 oracle数据库 pubmed数据库 access数据库 万方数据库

主题: SQL数据存储过程数据流变量
分页:12
转载请注明
本文标题:SSIS OLE DB Source使用带参数的SQL命令
本站链接:http://www.codesec.net/view/483785.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mssql) | 评论(0) | 阅读(97)