SSIS-SqlTask控件使用

使用SQL TASK控件

补充知识: EXECUTION_ID:是SSIS包每次执行的唯一标识; PACKAGE_NAME:是SSIS包的名称; MACHINE_NAME: 是机器名称;这些参数在SSIS包中的系统参数可查!

示例1:往目标数据库中插入数据,数据源来自SSIS包本身。

1、建立目标数据库:T_Logs

create table T_Logs
(
  ID INT PRIMARY KEY IDENTITY(1,1),
  EXECUTION_ID NVARCHAR(255),
  PACKAGE_NAME NVARCHAR(255),
  MACHINE_NAME NVARCHAR(255),
  START_TIME DATETIME NULL,
  FINISH_TIME DATETIME NULL,
  EXECUTION_STATUS_ID  INT
)

2、使用SSIS中SQL TASK控件插入数据,连接数据源,构建SQL语句,INSERT INTO T_Logs VALUES(?,?,?,GETDATE(),NULL,1),注意,“?”这种占位符的形式只适用于SQLSERVER.

3、运行查看结果:

示例2:使用SQL TASK执行存储过程

1、准备执行的存储过程:

CREATE PROCEDURE PRO_TLogs
@EXECUTION_ID NVARCHAR(255),
@PACKAGE_NAME NVARCHAR(255),
@MACHINE_NAME NVARCHAR(255),
@ID INT OUTPUT
AS
BEGIN
    SET NOCOUNT ON;
    INSERT INTO T_Logs VALUES(@EXECUTION_ID,@PACKAGE_NAME,@MACHINE_NAME,GETDATE(),NULL,2)
    [email protected]@IDENTITY 是SQLSERVER中内置的参数,代表得到上一次插入记录时自动产生的ID    SELECT @ID=@@IDENTITY
    RETURN 100
END
GO

--以上存储过程如果手动执行,就要使用SQL脚本 DECLARE @IDOUT INT  DECLARE @RETURN_VALUE INT 

EXEC @RETURN_VALUE= PRO_TLogs  @EXECUTION_ID=‘002‘, @PACKAGE_NAME=‘HELLO‘, @MACHINE_NAME=‘ABO‘, @[email protected] OUTPUT SELECT @IDOUT AS ‘自增长ID‘,@RETURN_VALUE  AS  ‘返回值‘ --执行结果: 

2、使用SSIS中SQL TASK控件执行存储过程

2.1 构建SQL语句:

2.2 由于参数@RETURN_VALUE和@IDOUT并不是系统参数,所以我们要自己创建两个USER变量

2.3 执行包查看结果:

时间: 2024-10-21 06:37:17

SSIS-SqlTask控件使用的相关文章

大数据数据仓库-微软BI SSIS ETL 控件与案例

一.Data仓库的架构 Data仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将Data按特定的模式进行存储所建立起来的关系型Datcbase,它的Data基于OLTP源Systam.Data仓库中的Data是细节的.集成的.面向主题的,以OLAPSystam的分析需求为目的. Data仓库的架构模型包括了星型架构与雪花型架构两种模式.星型架构的中间为事实表,四周为维度表,类似星星;而相比较而言,雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰

SSIS 自测题-控制流控件类

说明:以下是自己的理解答案,不是标准的答案,如有不妥烦请指出.         有些题目暂时没有答案,有知道的请留言,互相学习,一起进步. 62.描述一下 Execute SQL Task 的作用,在 ETL 开发过程中哪些情况下会使用到 Execute SQL Task?     执行SQL语句,获取单个数据,获取数据集合 63.在 Execute SQL Task 中的 Parameter Mapping 中 Direction 有哪几种类型?     三种:Input ,Output,Re

SSIS 自测题-数据流控件类

说明:以下是自己的理解答案,不是标准的答案,如有不妥烦请指出.         有些题目暂时没有答案,有知道的请留言,互相学习,一起进步. 133.请描述一下 Conditional Split 的使用方法和使用场景? 它可以写表达式吗? 它可以访问到上游数据的列,变量,以及使用函数吗?    根据不同的列的值,决定数据流的路径,可以写表达式进行判断,只能访问系统变量,用户变量,可以使用函数134.请描述一下 Data Conversion 与 Derived Column 的使用方法,以及它们

Foreach控件使用

在SSIS中,Foreach控件可以循环处理选中的文件中的文件,例如sql文件,Excel文件等.下面就介绍一个比较经典的案例,将一个文件夹中包含的多个Excel文件循环导入至数据库中. 第一步:在数据库中创建一张测试表: CREATE TABLE [dbo].[ShopInfo]( [ShopId] [varchar](255) NULL, [ShopName] [varchar](255) NULL ) ON [PRIMARY] 第二步:创建两个测试用Excel文件,所包含信息如图: 第三步

条件拆分控件使用

在进行ETL数据抽取的时候,往往会对数据进行条件拆分,比如当[工资]>5000时,才进入数据仓库,否则输出到Excel.类似这种需求.今天就来讲解一下条件拆分控件的使用.达到的目的就是把[OrderStatusCode]等于99的输出到数据仓库,不等于99的输出到Excel中. 第一步:准备原始数据,创建表以及在表中添加数据,脚本如下: CREATE TABLE [dbo].[MemberOrderStatus]( [OrderStatusCode] [varchar](2) NULL, [Or

在DataGridView控件中实现冻结列分界线

我们在使用Office Excel的时候,有很多时候需要冻结行或者列.这时,Excel会在冻结的行列和非冻结的区域之间绘制上一条明显的黑线.如下图: (图1) WinForm下的DataGridView控件也能实现类似的冻结行或者列的功能(参见:http://msdn.microsoft.com/zh-cn/library/28e9w2e1(VS.85).aspx) ,但是呢,DataGridView控件默认不会在冻结列或者行的分界处绘制一个明显的分界线,这样的话,最终用户很难注意到当前有列或者

摆脱Login控件,自己定义登录操作

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { //在登录过程中,程序自动使用login.aspx进行拦截 //验证用户通过后,自动返回拦截的位置 if (Membership.ValidateUser(this.TextBox1.Text, this.TextBox2.Text)) { this.Session["xh"] = this.TextBox1.Text; FormsAuth

python selenium 处理时间日期控件(十五)

测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日期,点击后弹出日期列表供我们选择日期,自己找了一个日期控制演示一下,通过两次定位,选择了日期 #-*- coding:utf-8 -*- import time from selenium import webdriver driver = webdriver.Chrome() driver.get

Delphi XE10 dxLayoutControl 控件应用指南

http://www.cnblogs.com/Bonny.Wong/p/7440288.html DevExpress VCL套件是一套非常强大的界面控件,可惜关于Delphi开发方面的说明太少,有些控件使用起来一头雾水,不知从何下手.本节详细介绍在Delphi Xe10 Seattle中如何利用dxLayoutControl 控件来做界面布局. 1.  首先从工具箱面板中将dxLayoutControl放在Form上,设置2个关键属性如下: 属性 属性值 说明 Align alClient 一