Bonjours,

Mon objectif est de faire une tache qui va prendre dans une base de donnée des informations de configuration et les mettre dans un variable.
pour se faire j'utilise l'objet "Source OLE DB" lier à un "Composant Script".
Je passe en paramètre ReadWriteVariables mes 2 variable Max,Min.

Mon code est simplet et ne fait qu'affectés mes 2 variables.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
 
Public Class ScriptMain
    Inherits UserComponent
 
    Public Overrides Sub Entrée0_ProcessInputRow(ByVal Row As Entrée0Buffer)
        Me.ReadWriteVariables("Min").Value = Row.DifferenceDateMax
        Me.ReadWriteVariables("Max").Value = Row.DifferenceDateMin
    End Sub
 
End Class
Mais quand j'execute mon code dans mes fichier de lof j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Microsoft.SqlServer.Dts.Pipeline.ReadWriteVariablesNotAvailableException: La collection de variables verrouillée pour l'accès en lecture et écriture n'est pas disponible en dehors de PostExecute.
   à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
   à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)
   à Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper90 wrapper, Int32 inputID, IDTSBuffer90 pDTSBuffer, IntPtr bufferWirePacket)
je ne voie pas vraiment quoi faire.

Merci de l'aide qui sera apporté.