免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3815 | 回复: 2
打印 上一主题 下一主题

DTS全局变量如何带入SQL查询语句中 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-05 09:59 |只看该作者 |倒序浏览
如题,DTS包全局变量,怎么带入转换数据任务中的SQL查询,有教程之类的吗?谢谢,数据库是SQL2000。
另外包的全局变量如何从数据库中读取字段,谢谢

论坛徽章:
0
2 [报告]
发表于 2010-08-05 17:35 |只看该作者
DTS参数传递示例

-- 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

论坛徽章:
0
3 [报告]
发表于 2010-08-06 11:23 |只看该作者
回复 2# 云杉上的蝴蝶
感谢,此方法可以应用在执行SQL任务中,但是我想应用在转换数据任务中应该怎样处理呢,源数据是SYBASE,点击参数会导致包错误信息,提示如下
:HRESULT of 0x80040e51(-2147217839) returned  出现意外错误。返回了错误结果,但没有错误信息
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP