如何访问脚本任务内的RecordSet变量?SSIS - 如何访问脚本任务中的RecordSet变量
18
A
回答
17
在脚本选项卡上,确保将变量放在readonlyvariables或readwritevariables文本框中。
这是一个简单的脚本,我用它来格式化数据流中的错误(保存在RecordSet变量中)到电子邮件的正文中。基本上我将记录集varialbe读入一个数据表,并用for循环逐行处理它。完成此任务后,我将检查uvErrorEmailNeeded的值,以确定是否有任何内容需要使用条件流程流连接器进行电子邮件发送。您还需要在您的vb脚本中添加对system.xml的引用。这是在2005年SQL
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Xml
Imports System.Data.OleDb
Public Class ScriptMain
Public Sub Main()
Dim oleDA As New OleDbDataAdapter
Dim dt As New DataTable
Dim col As DataColumn
Dim row As DataRow
Dim sMsg As String
Dim sHeader As String
oleDA.Fill(dt, Dts.Variables("uvErrorTable").Value)
If dt.Rows.Count > 0 Then
Dts.Variables("uvErrorEmailNeeded").Value = True
For Each col In dt.Columns
sHeader = sHeader & col.ColumnName & vbTab
Next
sHeader = sHeader & vbCrLf
For Each row In dt.Rows
For Each col In dt.Columns
sMsg = sMsg & row(col.Ordinal).ToString & vbTab
Next
sMsg = sMsg & vbCrLf
Next
Dts.Variables("uvMessageBody").Value = "Error task. Error list follows:" & vbCrLf & sHeader & sMsg & vbCrLf & vbCrLf
End If
Dts.TaskResult = Dts.Results.Success
End Sub
End Class
17
下面列出的是我使用了从记录或结果集变量一个C#脚本任务加载数据表的代码。 “User :: transactionalRepDBs”是Object(System.Object)的一个SSIS变量,通过执行SQL任务脚本通过“完整结果集”加载。 This link assisted me.
using System.Data.OleDb;
DataTable dt= new DataTable();
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.Fill(dt, Dts.Variables["User::transactionalRepDBs"].Value);
foreach (DataRow row in dt.Rows)
{
//insert what you want to do here
}
0
一个简单的方法,我发现(使用C#)被简单地铸造对象作为一个字符串数组。这就是我的C#代码现在的样子:
public void Main()
{
string[] arreglo = (string[])Dts.Variables["User::arreglo"].Value;
...
foreach (string elemento in arreglo)
{
// do stuff on each element of the array/collection
}
...
}
相关问题
- 1. SSIS - 如何访问脚本任务中的系统变量
- 2. SSIS写变量脚本任务
- 3. SSIS脚本任务INT32变量比较
- 4. SSIS读/写变量脚本任务
- 5. 在SSIS脚本中循环RecordSet目标任务
- 6. 如何从SSIS中的脚本任务重置对象变量?
- 7. SSIS脚本任务问题
- 8. 如何访问脚本组件中的ssis包变量
- 9. SSIS:如何在脚本任务中添加全局变量?
- 10. SSIS脚本任务
- 11. 脚本任务:编写2个类并访问全局变量
- 12. 在SSIS中的脚本任务中使用变量
- 13. SSIS的脚本任务
- 14. 在SSIS脚本任务中使用LINQ将值赋给变量
- 15. SSIS脚本任务`无效的转换exception`从变量
- 16. 传递使用脚本任务的变量在SSIS
- 17. SSIS脚本任务结果
- 18. SSIS脚本任务不DTS.TaskResult
- 19. SSIS脚本任务错误
- 20. 如何在脚本任务中使用包变量?
- 21. 问题SSIS的脚本任务和SQL批量插入 - C#
- 22. 如何为脚本任务设置数据流任务的变量值
- 23. SSIS脚本任务无法找到变量
- 24. SSIS脚本任务获取所有变量名称和值
- 25. SSIS脚本任务在对象变量内部抓取列
- 26. SSIS字符串变量失败脚本任务
- 27. 脚本任务中的对象变量
- 28. 如何在tcl(expect)脚本中访问bash变量脚本
- 29. 访问SSIS变量在数据流任务
- 30. 返回输出Paramters或变量在SSIS脚本任务/脚本组件