Ayant eu récemment besoin d’écrire un package SSIS, pour une procédure d’exploitation SQL Server, j’ai eu besoin de réutiliser des connexions de type SMO dans des scripts du package. Les connexions SMO sont utilisées notamment par les tâches de transfert d’objets entre bases de données (transfert de tables, de procédures stoquées, …). J’utilisais une de ces tâches, et j’avais également besoin de faire quelques traitements spécifiques en script .NET sur ces même connexions. Ce type d’utilisation étant mal documenté, voici comment j’ai procédé :
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Management.Smo
Public Class ScriptMain
Public Sub Main()
Dim server As Server
Dim db As Database
server = CType(Dts.Connections("destination").AcquireConnection(vbNull), Server)
db = server.Databases("MYDB")
db.ExecuteNonQuery(CStr(Dts.Variables("myQuery").Value))
Dts.TaskResult = Dts.Results.Success
End Sub
End Class
Laisser un commentaire