Section courante

A propos

Section administrative du site

Principes de base de .NET avec SSIS

Si vous connaissez le cadre d'application .NET, ou si vous avez déjà écrit de code VB.NET auparavant, vous constaterez que le SSIS offre de nombreuses possibilités dans se sens. Ainsi, vous constaterez les types de données, les variables et la structure de l'écriture de code dans .NET pour C# et en VB.NET.

Le cadre d'application .NET est un cadre d'application open source propriétaire et partiel (le .NET Core est open source), y compris l'exécution et les bibliothèques du cadre d'application) développé par Microsoft; il fonctionne principalement sur la plate-forme Windows. Ses deux principaux composantes sont une grande bibliothèque de classes FCL (Framework Class Library) et le CLR (Common Language Runtime), fournissant l'interopérabilité des langages de programmation, ce qui signifie que chaque langage de programmation peut utiliser du code écrit dans d'autres langages de programmation. Le CLR est un environnement logiciel géré permettant aux programmes et applications écrits avec le cadre d'application .NET de s'exécuter. Le CLR est une sorte de machine virtuelle d'application s'occupant de la sécurité, de la gestion de la mémoire et de la gestion des exceptions. Le FCL et le CLR forment le cadre d'application .NET. Microsoft fournit un environnement de développement intégré (IDE) pour le cadre d'application .NET appelé Visual Studio.

Types de données .NET Types de données versus flux de données

Bien qu'il existe des similitudes entre eux, il existe également plusieurs différences fondamentales entre les types de données utilisés dans le .NET et les types de données utilisés dans SSIS. Les types de données utilisés dans SSIS sont des flux de données, étant pris en charge par la mémoire tampon de ligne de tuyau et sont exposés à l'aide d'un système de types dédié. Le système de types est différent de celui utilisé par les variables SSIS ou par les fournisseurs de données tels que OLE DB et ADO.NET. Le tableau suivant présente des comparaisons entre les types de données trouvés dans les types de tampon de la ligne de tuyau .NET et SSIS :

Type .NET Type de tampon de ligne de tuyau SSIS
Int64 DT_I8
Array Of Byte DT_BYTES
Boolean DT_BOOL
String DT_STR
DateTime DT_DBDATE
DateTime DT_DBTIMESTAMP
DateTime DT_DBTIMESTAMP2
DateTimeOffset DT_DBTIMESTAMPOFFSET
Decimal DT_NUMERIC
Double DT_R8
Object DT_IMAGE
Int32 DT_I4
String DT_WSTR
String DT_NTEXT
Single DT_R4
Int16 DT_I2
TimeSpan DT_DBTIME2
Byte DT_U11
GUID DT_GUID

Tous les types de données du cadre d'application .NET dérivent du type Object. Par conséquent, tous les types de données peuvent être convertis en objet. Cela signifie que si vous avez un type de données dans SSIS n'ayant pas d'équivalent approprié, vous pouvez toujours le convertir en type Object.

Même si le GUID est un .NET natif, il ne fait pas partie du système de type de variable SSIS disponible. Pour créer un GUID, vous devez recourir à Script Tasks ou Script Components. Si vous souhaitez affecter un GUID à une variable, vous devez d'abord le convertir en chaîne ; par exemple :

Dts.variable["MonGUID"].Value="{"+Guid.NewGuid().Tostring()+"}";

Types de données

Le type de données d'un élément indique quel type de données l'élément peut contenir et comment ces données sont entreposées. Toutes les valeurs pouvant faire partie de l'évaluation d'une expression ou pouvant être entreposées dans la mémoire de l'ordinateur ont un type de données. Ces éléments peuvent être des variables, des constantes, des énumérations, des paramètres, des paramètres et des propriétés. Les valeurs de retour de procédure ont également un type de données. Dans le cadre d'application .NET, vous devez préalablement déclarer le type de données. La syntaxe varie selon que vous utilisez C# ou VB.NET comme langage de programmation. Le tableau suivant montre comment les éléments sont déclarés dans les deux langages de programmation :

Élément de programmation Déclaration C# Déclaration VB.NET
Variable Double Amount;
String Name;
Dim Amount As Double
Dim Name As String
Littéral Double Amount = 10.4;
String Name="chaine";
Dim Amount As Double=10.4
Dim Name As String="chaine";
Constante const Double VAT=17.2; Const VAT As Double=17.2;
Énumération Enum Couleurs {Bleu,Vert} Enum Couleurs Vert Bleu
End Enum
Propriété public int MaPropriete { get; set;} Public Property MaPropriete() As Integer
Get
Return m_MaPropriete
End Get
Set
m_MaPropriete
End Get
Set
m_MaPropriete = Value
End Set
End Property
Private m_MaPropriete As Integer
Paramètre public void MaMethod(string parametre1) Sub MaMethod(ByVal parametre1 As String)
Argument nouvelleChaine = inputArgument.Substring(0,2); nouvelleChaine = Left(inputArgument,2)
Valeur de retour public string MaNouvelleMethode(String parametre1) Function MaNouvelleMethode(ByVal parametre1 As String) As String

Variables

Une variable est un emplacement d'entreposage contenant une quantité connue ou inconnue d'informations appelée valeur. En VB.NET, une variable est dimensionnée, d'où le nom Dim. Les variables peuvent avoir des modificateurs d'accès indiquant leur portée. Au niveau de la classe, une variable avec une portée publique est exposée à toutes les instances de la classe, ainsi qu'à d'autres objets, y compris d'autres classes. Si la variable est privée, elle n'est disponible qu'à l'intérieur de la classe. Les mêmes règles s'appliquent aux propriétés : une propriété publique est exposée à tous les autres objets. Une variable déclarée à l'intérieur d'une méthode ou d'une fonction est limitée à cette méthode ou fonction et ne peut pas être utilisée en dehors de la portée de la fonction. De plus, si la variable est déclarée à l'intérieur d'un if ou d'une construction de boucle dans une fonction, elle n'est étendue qu'à if ou à la construction de boucle.

Opérateurs

Il existe différentes catégories d'opérateurs dans le cadre d'application .NET, comme indiqué dans le tableau suivant :

Catégorie Exemple
Primaire x.y, typeof, x++, x--
Unaire !x, ++x, --x
Multiplicatif x*y, x/y, x%y
Additive x+y, x-y
Décalage x >> y, x <> y
Relationnel x >> y, x > y, x <=y, x >= y
Type de test is, as
Égalité x==y, x!=y
ET binaire x & y
OU EXCLUSIF binaire X ^ y
ET conditionnel x && y
OU conditionnel x || y
Fusion nulle x ?? y
Assignation et expressions lambda x = y, x += y, x -= y, x *= y, x /= y, x %= y, x &= y, x |= y, x ^= y, x <<= y, x >>= y, =>

Using/Import, classes et espaces de noms

Pour permettre aux noms de types d'être référencés sans avoir à les qualifier avec leur espace de noms, vous devez utiliser les mots clefs using (C#) ou Imports (VB.NET). Cela se fait au niveau du fichier et peut également être fait à l'intérieur des espaces de noms, des classes,... Chaque fichier source peut contenir n'importe quel nombre de Imports ou using.

Ni Import ni using ne rendent les éléments d'autres projets ou assemblys disponibles pour votre projet. Vous devez toujours définir une référence aux projets ou assemblys. Les mots-clefs using ou Imports suppriment uniquement le besoin de noms qualificatifs déjà disponibles pour vos projets.



Dernière mise à jour : Samedi, le 21 août 2021