如果传递参数给DTS包中的DTS包任务?

一个包,包含5个任务,每个任务中都包含1个数据转换包,我想实现数据转换包中,sql查询条件中加个参数,由DTSRUN传入,请问怎么做?步骤?尽量具体点,小弟谢谢了
---------------------------------------------------------------

dtsrun /A 参数设置
参考SQLServer帮助
---------------------------------------------------------------

--1. 建立测试表
CREATE TABLE tempdb.dbo.tb(id int)

--2. 新建一个DTS包
在包中建立:
a. Microsoft OLE DB Provider for SQL Server连接
b. 执行 SQL 任务
任务的“SQL语句“写上: insert tb values(?)
单击“参数”按钮,打开“参数映射”对话框
单击“创建全局变量”按钮,创建一个名为value,类型为integer,值为1的全局变量
单击“确定”按钮回到“参数映射”对话框,在“参数映射”列表中,为”参数1“的”输入全局变量“选择”value"
单击“确定”按钮回到"DTS包定义”窗口
c. 保存DTS包,包名指定为a,位置指定为"SQL Server"

--3. 新建一个包,用以调用包a
在包中建立:
a. 执行包任务
在“常规”选项的“包名称”中选择步骤2中建立的包名a
在“外部全局变量”选项中,输入变量名 value。(对应步骤2中包的全局变量)
b. 保存DTS包,包名指定为b,位置指定为"SQL Server"

--4. 执行包,查看结果
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="2"'
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="3"'
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="5"'
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N"b" /A"value":3="10"'
SELECT * FROM tempdb.dbo.tb
DROP TABLE tempdb.dbo.tb

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus