Salut à tous,

J'ai un petit problème avec une méthode qui me lève cette exception:
->
CommunicationException occurred
De base, j'ai cette méthode qui renvoie un boolean, et tout marche impec:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Public Function Read() As Boolean Implements IService1.Read
        Try
            Dim dtmCurrentDate As DateTime = DateTime.Now
            Dim connection As New clsConnectionBD()
            connection.ConnectionString = "Data Source=NICOLEDE;Persist Security Info=True;User ID=***;Password=****;"
            connection.Type = clsConnectionBD.BDDType.Oracle
            _configMA.PathMeta = "C:\DEV_5\Meta Analysis Dev\"
            _configMA.TypeAppli = clsAppli.Type.MetaService
            '_configMA.PathMeta = "C:\DEV_5\Meta Analysis Dev\"
            connection.Open()
            If connection.IsConnected = False Then
                _elgEvent.WriteEntry("Connexion à la base impossible : " + connection.ConnectionString, EventLogEntryType.Error)
                Return False
            End If
            Dim reader As DbDataReader
            reader = connection.ExecSelectToDR("SELECT IDE_PLN, ALIAS, DAYS, HOURS, IDE_PRJ,APPLICATION, ARGS, IDE_LANG, USR_LOG_PLN, USR_LOG_EXE FROM T_PLN")
            Dim noAppli As Boolean = False
            If reader.HasRows = True Then
                Do While reader.Read()
                    Dim converter As clsConverterRunner = Nothing
                    noAppli = False
                    Select Case reader("APPLICATION").ToString()
                        'Ajouter les connectivités ici.
                        Case BOXIUNV_APPLICATION
                            converter = New clsBOXIUnvConverterRunner(_elgEvent)
                        Case BOXIDOC_APPLICATION
                            converter = New clsBOXIDocConverterRunner(_elgEvent)
                        Case ORACLE_APPLICATION
                            converter = New clsOracleConverterRunner(_elgEvent)
                        Case SQLSERVER_APPLICATION
                            converter = New clsSQLServerConverterRunner(_elgEvent)
                        Case SYBASEIQ_APPLICATION
                            converter = New clsSyBaseIQConverterRunner(_elgEvent)
                        Case DELETE_APPLICATION
                            converter = New clsPlanifDeleteLogRunner(_elgEvent)
                        Case GENIO_APPLICATION
                            converter = New clsGenioConverterRunner(_elgEvent)
                        Case POWER_AMC_APPLICATION
                            converter = New clsPowerAmcConverterRunner(_elgEvent)
                        Case COGNOS_APPLICATION
                            converter = New clsCognosConverterRunner(_elgEvent)
                        Case TALEND_APPLICATION
                            converter = New clsTalendConverterRunner(_elgEvent)
                        Case Else
                            noAppli = True
                    End Select
                    If noAppli = False Then
                        converter.ConfigMA = _configMA
                        converter.IdePln = reader("IDE_PLN").ToString()
                        converter.AliasName = reader("ALIAS").ToString()
                        converter.IdePrj = reader("IDE_PRJ").ToString()
                        converter.Days = reader("DAYS").ToString()
                        If converter.IsStartNow Then
                            converter.UserLoginExe = reader("USR_LOG_EXE").ToString()
                        End If
                        converter.Hours = reader("HOURS").ToString()
                        converter.IdeLangue = reader("IDE_LANG").ToString()
                        converter.UserLoginPln = reader("USR_LOG_PLN").ToString()
 
                        If converter.InitWith(reader("ARGS").ToString()) Then
                            If converter.IsOkToConvert(dtmCurrentDate) Then
                                updateDaysStatus(converter)
                                If Not FifoContains(converter) Then
                                    _fifoConverterRunners.Enqueue(converter)
                                End If
                            End If
                        End If
                    End If
                Loop
            End If
            connection.Close()
            Return True
        Catch ex As Exception
            _elgEvent.WriteEntry(ex.Message + " " + ex.StackTrace, EventLogEntryType.Error)
        End Try
    End Function
Mais à la place de renvoyer un booléen, je voudrai renvoyer un converter:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Public Function Read() As clsConverterRunner Implements IService1.Read
        Try
            Dim dtmCurrentDate As DateTime = DateTime.Now
            Dim connection As New clsConnectionBD()
            connection.ConnectionString = "Data Source=NICOLEDE;Persist Security Info=True;User ID=***;Password=***;"
            connection.Type = clsConnectionBD.BDDType.Oracle
            _configMA.PathMeta = "C:\DEV_5\Meta Analysis Dev\"
            _configMA.TypeAppli = clsAppli.Type.MetaService
            '_configMA.PathMeta = "C:\DEV_5\Meta Analysis Dev\"
            connection.Open()
            If connection.IsConnected = False Then
                _elgEvent.WriteEntry("Connexion à la base impossible : " + connection.ConnectionString, EventLogEntryType.Error)
                ' Return False
            End If
            Dim reader As DbDataReader
            reader = connection.ExecSelectToDR("SELECT IDE_PLN, ALIAS, DAYS, HOURS, IDE_PRJ,APPLICATION, ARGS, IDE_LANG, USR_LOG_PLN, USR_LOG_EXE FROM T_PLN")
            Dim noAppli As Boolean = False
            If reader.HasRows = True Then
                Do While reader.Read()
                    Dim converter As clsConverterRunner = Nothing
                    noAppli = False
                    Select Case reader("APPLICATION").ToString()
                        'Ajouter les connectivités ici.
                        Case BOXIUNV_APPLICATION
                            converter = New clsBOXIUnvConverterRunner(_elgEvent)
                        Case BOXIDOC_APPLICATION
                            converter = New clsBOXIDocConverterRunner(_elgEvent)
                        Case ORACLE_APPLICATION
                            converter = New clsOracleConverterRunner(_elgEvent)
                        Case SQLSERVER_APPLICATION
                            converter = New clsSQLServerConverterRunner(_elgEvent)
                        Case SYBASEIQ_APPLICATION
                            converter = New clsSyBaseIQConverterRunner(_elgEvent)
                        Case DELETE_APPLICATION
                            converter = New clsPlanifDeleteLogRunner(_elgEvent)
                        Case GENIO_APPLICATION
                            converter = New clsGenioConverterRunner(_elgEvent)
                        Case POWER_AMC_APPLICATION
                            converter = New clsPowerAmcConverterRunner(_elgEvent)
                        Case COGNOS_APPLICATION
                            converter = New clsCognosConverterRunner(_elgEvent)
                        Case TALEND_APPLICATION
                            converter = New clsTalendConverterRunner(_elgEvent)
                        Case Else
                            noAppli = True
                    End Select
                    If noAppli = False Then
                        converter.ConfigMA = _configMA
                        converter.IdePln = reader("IDE_PLN").ToString()
                        converter.AliasName = reader("ALIAS").ToString()
                        converter.IdePrj = reader("IDE_PRJ").ToString()
                        converter.Days = reader("DAYS").ToString()
                        If converter.IsStartNow Then
                            converter.UserLoginExe = reader("USR_LOG_EXE").ToString()
                        End If
                        converter.Hours = reader("HOURS").ToString()
                        converter.IdeLangue = reader("IDE_LANG").ToString()
                        converter.UserLoginPln = reader("USR_LOG_PLN").ToString()
 
 
                        If converter.InitWith(reader("ARGS").ToString()) Then
                            If converter.IsOkToConvert(dtmCurrentDate) Then
                                updateDaysStatus(converter)
                                If Not FifoContains(converter) Then
                                    _fifoConverterRunners.Enqueue(converter)
                                End If
                            End If
                        End If
                    End If
                    Return converter
                Loop
            End If
            connection.Close()
            'Return true
        Catch ex As Exception
            _elgEvent.WriteEntry(ex.Message + " " + ex.StackTrace, EventLogEntryType.Error)
        End Try
    End Function
Lorsque j'execute le 2ème bout de code, j'ai l'exception de levé.
Je ne comprends pas bien d'ou cela peut bien venir ?

D'avance merci pour l'aide apportée