006_SSIS execute sql task 调用存储过程

1.首先在SqlServer中创建存储过程:

if OBJECT_ID(‘usp_t013_inset_process_log‘) is not null
drop procedure usp_t013_inset_process_log
go
	create procedure usp_t013_inset_process_log
	@execution_id varchar(50),
	@package_name varchar(50),
	@machine_name varchar(50),
	@id int output
	as
	begin
		insert into T013_PROCESS_LOG values(@execution_id,@package_name,@machine_name,GETDATE(),null,1);
		select @id = @@IDENTITY;
	end
	return 1;
go

2.在sql task 中输以下语句用于sql调用

declare @id_ int
declare @return_value int
execute ? = usp_t013_inset_process_log
@execution_id = ?,
@package_name = ?,
@machine_name = ?,
@id = ? output

3.创建两个参数用于获得返回值与输出值,在参数映射部分配置好对应的映射,注意参数名称的值大小与sql语句中的?依次对应

原文地址:https://www.cnblogs.com/renzy194/p/12045496.html

时间: 2024-08-09 17:33:49

006_SSIS execute sql task 调用存储过程的相关文章

Execute Sql Task 执行有参数的存储过程

Execute Sql Task 执行有参数的存储过程时,传递参数的方式是不同的,根据使用链接的不同,主要分为两种:OleDB和Ado.Net. create dbo.test (id int) CREATE PROCEDURE dbo.usp_AddItem @id int AS BEGIN SET NOCOUNT ON; insert into dbo.test(id) values(@id) END 1,如果ConnectionType是Oledb,那么使用?代表参数名字,?的序号是从0,

微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧

开篇介绍 Execute SQL Task 这个控件在微软BI ETL 项目中使用的频率还是非常高的,也是大部分入门 SSIS 初学者最早接触到的几个控制流控件. 我们通常使用 Execute SQL Task 的场景包含但不止于以下几类: 在从源端加载数据到 Staging 表之前使用 Execute SQL Task 执行一些 Truncate 操作. 执行一些 Log 的插入,更新操作. ETL 过程中的 Merge 语句操作. XML 的输出处理. 关于如何使用 Execute SQL

Execute SQL Task 参数和变量的映射

Execute SQL Task能够执行带参数的SQL查询语句或存储过程(SP),通过SSIS的变量(Variable)对参数赋值.对于不同的Connection Manager,在Task中需要使用不同的符号(Parameter marker)来标记一个参数,并且在Parameter Mapping中设置参数名字(Parameter Name). 在Execute SQL Task Editor中,设置Parameter Mapping的界面如下: Variable Name:变量的名字,变量

[转]SSIS Execute SQL Task : Mapping Parameters And Result Sets

本文转自:http://www.programmersedge.com/post/2013/03/05/ssis-execute-sql-task-mapping-parameters-and-result-sets.aspx#.U18_6PmSxBk A very common scenario in an ETL process is one in which you need to call out to some configuration tables to figure out so

在PL/SQL中调用存储过程--oracle

在oracle10中写好了存储过程,代码如下: CREATE OR REPLACE Procedure Proc_Insert ( sName in varchar2, sAge in int, sExeTime in varchar2 ) is begin Insert into T_TEST(C_ID, C_NAME, C_AGE, C_INTIME, C_EXETIME) values(T_TEST_CID.nextval,sName,sAge, sysdate, to_date(sExe

Execute Sql Task的ExecValueVariable 用法

ExecValueVariable属性指定一个变量,接收Task的ExecutionValue,在下游组件中可以引用该变量. Set the name of the custom variable that receives the execution result for the task. The default value of this property is none, which indicates that the result is not set to a variable i

Execute Sql Task 的Result DataSet如何返回

Execute Sql Task的Result DataSet 主要有以下四种,当Execute Sql Task返回结果之后,需要使用SSIS Variable 来接收数据. 例子中使用的数据表代码如下 create table dbo.test ( code int, name varchar(10), txt Nvarchar(10) ) insert into dbo.test(code,name,txt) values(1,'a',N'b'),(2,'c',N'd'),(3,'e',N

SSIS Execute SQL Task 用法

Execute Sql Task组件是一个非常有用的Control Flow Task,可以直接执行SQL语句,例如,可以执行数据更新命令(update,delete,insert),也可以执行select查询语句,返回结果集,结果集可以是一行,也可以是多行. 一,General 选项卡 1,返回结果集(Result Set) None:表示不返回结果,在执行Update,delete或insert命令时,使用该选项: Single row:返回单行结果,可以在Result Set 选项卡中,将

EF和LINQ 调用存储过程

好久没有更新文章了,最近项目比较忙都没什么时间来分享最近的问题. 今天遇到一个超级傻逼的问题.C#中调用存储过程,自己code也10来年了,这应该是很简单的问题了.今天有2个新的api,一个只有1个参数, 一个有10多个参数,先前没有注意到对象类型, 以为是EF的DbContext,结果后来才发现是LINQ的DataContext对象.以前调用存储过程都是靠设计界面封装成方法. 现在designer界面有500多张表, 几年没有维护了,大家要修改什么东东都是直接改代码.所以这里以后台代码调用存储