SSIS脚本任务中访问记录集RecordSet

liangCK 2009-10-09 10:52:26
脚本任务中访问记录集RecordSet

在”脚本任务”中访问变量.我们可以使用Dts.Variables(“变量名”).Value 的方法得到变量的值.
但如果变量是ADO的结果集.就需要将ADO结果集填充到一个DataTable中.然后再查这个DataTable.

在脚本任务的ReadOnlyVariables中写上我们的Object类型的ADO结果集的变量名称.
然后进入脚本编辑器.

在Visual Studio for Applications IDE中.添加引用”System.xml.dll”

然后编写代码:
' Microsoft SQL Server Integration Services Script Task
' Write scripts using Microsoft Visual Basic
' The ScriptMain class is the entry point of the Script Task.

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Data.OleDb

Public Class ScriptMain

' The execution engine calls this method when the task executes.
' To access the object model, use the Dts object. Connections, variables, events,
' and logging features are available as static members of the Dts class.
' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
'
' To open Code and Text Editor Help, press F1.
' To open Object Browser, press Ctrl+Alt+J.

Public Sub Main()
Dim Adapter As New OleDbDataAdapter
Dim Table As New DataTable

Adapter.Fill(Table, Dts.Variables("v_Result").Value) '此时我的ADO变量是v_Result
'得到DataTable,就可以做所有我们想做的事情了.

Dim msg As String

For Each _dataRow As DataRow In Table.Rows
msg = ""
For Each _dataColumn As DataColumn In Table.Columns
msg += _dataColumn.ColumnName + " : " + _dataRow(_dataColumn.Ordinal).ToString + vbTab
Next

'显示msg出来
MsgBox(msg)
Next
Dts.TaskResult = Dts.Results.Success
End Sub

End Class


这里的”执行SQL任务”是得到一个完整的结果集.然后给一个Object类型的变量



...全文
733 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj_198119811981 2010-05-03
  • 打赏
  • 举报
回复
学习 ,虽然看不懂
email17 2010-04-30
  • 打赏
  • 举报
回复
顶!!!!!
BIConsulting 2010-04-17
  • 打赏
  • 举报
回复
如果只是要遍历,直接用Foreach 任务就ok,
在变量映射处配置,列编号从0开始。
yangdingyu8686 2009-11-28
  • 打赏
  • 举报
回复
感觉意义不大,是不是呢,个人感觉
希望小梁解析下这个意义
yangdingyu8686 2009-11-28
  • 打赏
  • 举报
回复
那我在SSIS中如何使用变量集合中的每个值,
因为你在脚本中读取所有的值,脚本是一次执行完的,
如何在设计时一个一个值作为参数输入到前台的设计

律己修心 2009-10-13
  • 打赏
  • 举报
回复
目前 看不明白
wsxcdx 2009-10-12
  • 打赏
  • 举报
回复
学习
jiangshun 2009-10-11
  • 打赏
  • 举报
回复
小梁还会VB啊,
黄_瓜 2009-10-10
  • 打赏
  • 举报
回复
xuexi
lkyusst 2009-10-10
  • 打赏
  • 举报
回复
xuexi
SQL77 2009-10-10
  • 打赏
  • 举报
回复
学习
Zoezs 2009-10-10
  • 打赏
  • 举报
回复
学习
--小F-- 2009-10-10
  • 打赏
  • 举报
回复
一下写这么多 慢慢学习
华夏小卒 2009-10-10
  • 打赏
  • 举报
回复
能看懂一点点
xiequan2 2009-10-10
  • 打赏
  • 举报
回复
小梁太强了
navy887 2009-10-10
  • 打赏
  • 举报
回复
学习
叶子 2009-10-10
  • 打赏
  • 举报
回复
小梁太强了。
V68V6 2009-10-10
  • 打赏
  • 举报
回复
mark
百年树人 2009-10-10
  • 打赏
  • 举报
回复
学习!
ws_hgo 2009-10-09
  • 打赏
  • 举报
回复
xuexi
加载更多回复(2)

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧