如何訪問腳本任務內的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腳本任務/腳本組件