Comment accéder à une variable RecordSet dans une tâche de script?SSIS - Comment accéder à une variable RecordSet dans une tâche de script
Répondre
Dans l'onglet Script, veillez à placer la variable dans les zones de texte readonlyvariables ou readwritevariables.
Voici un script simple que j'utilise pour formater les erreurs dans un flux de données (enregistré dans une variable RecordSet) dans le corps d'un e-mail. Fondamentalement, j'ai lu le jeu d'enregistrements varialbe dans un datatable et le traiter ligne par ligne avec les boucles for. Une fois cette tâche terminée, j'examine la valeur de uvErrorEmailNeeded pour déterminer s'il y a quoi que ce soit à envoyer par courrier électronique en utilisant un connecteur de flux de processus conditionnel. Vous devrez également ajouter une référence à system.xml dans votre script vb. Ceci est en SQL 2005.
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
Ci-dessous est le code que je chargeais une datatable dans une tâche de script C# à partir d'une variable ou recordset ResultSet. "User :: transactionalRepDBs" est une variable SSIS de Object (System.Object) qui a été chargée via un "jeu de résultats complet" à partir d'un script de tâche SQL d'exécution. 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
}
Un moyen plus facile je trouve (en C#) est simplement coulée de l'objet comme un tableau de chaînes. Voici à quoi ressemble mon code 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. Bouclage de la destination RecordSet dans le script SSIS Tâche
- 2. SSIS: Comment ajouter une variable globale dans une tâche de script?
- 3. Compilez par programme une tâche de script dans SSIS
- 4. Comment accéder aux variables dans ScriptComponent dans une tâche DataFlow
- 5. SSIS 2005 Comment ajouter une tâche zip?
- 6. DTS SSIS - Script de tâche et filetage?
- 7. Tâche de script SSIS se connectant à AD
- 8. Comment utiliser une variable pour se connecter dans SSIS?
- 9. Appel de l'assembly C# à partir du script SSIS Tâche
- 10. Composant de script SSIS écrire dans la variable
- 11. SSIS, sortie null comme valeur de colonne dans une tâche de script
- 12. Utilisation d'une variable de conteneur de boucle Foreach dans une tâche SQL [SSIS]
- 13. Gestion des exceptions dans le script SSIS Tâche
- 14. Référence un assembly .net 3.5 dans une tâche de script dans SSIS 2005?
- 15. dans ssis comment puis-je inclure une référence à une variable globale à partir d'un composant de script?
- 16. Pouvez-vous exécuter une tâche SSIS à partir de .net?
- 17. Comment faire une tâche FTP SSIS exécuter un script FTP plutôt que de télécharger un fichier?
- 18. Comment accéder à une variable javascript au niveau de la page (locale) dans un script greasemonkey?
- 19. Traitement des erreurs de tâche de script SSIS Dataflow
- 20. Comment accéder à Java Script variable dans CGI
- 21. SSIS: Mettre à jour un RecordSet passé dans un ScriptTask VB.NET
- 22. Accéder à une variable globale dans une DLL
- 23. Définition du délai d'expiration d'une tâche de script SSIS 2005
- 24. Comment accéder à une variable PHP à partir de JavaScript?
- 25. Modification d'une variable dts SSIS
- 26. Comment insérer une variable de script dans une chaîne regex?
- 27. Comment accéder à une variable d'instance publique dans Objective C?
- 28. Comment accéder à une valeur de variable affectée à une variable HTML.Hidden dans une méthode d'action de contrôleur MVC
- 29. SSIS Webservice Tâche
- 30. Décompressez dans la tâche de script C# SSIS à l'aide de la bibliothèque Icsharpcode