首页 > 代码库 > SSIS-SqlTask控件使用
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) --@@IDENTITY 是SQLSERVER中内置的参数,代表得到上一次插入记录时自动产生的ID
SELECT @ID=@@IDENTITY RETURN 100 END GO
--以上存储过程如果手动执行,就要使用SQL脚本
DECLARE @IDOUT INT
DECLARE @RETURN_VALUE INT
EXEC @RETURN_VALUE= http://www.mamicode.com/PRO_TLogs @EXECUTION_ID=‘002‘, @PACKAGE_NAME=‘HELLO‘, @MACHINE_NAME=‘ABO‘, @ID=@IDOUT OUTPUT
SELECT @IDOUT AS ‘自增长ID‘,@RETURN_VALUE AS ‘返回值‘
--执行结果:
2、使用SSIS中SQL TASK控件执行存储过程
2.1 构建SQL语句:
2.2 由于参数@RETURN_VALUE和@IDOUT并不是系统参数,所以我们要自己创建两个USER变量
2.3 执行包查看结果:
SSIS-SqlTask控件使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。