Bonjour,

actuellement en projet sur l'informatisation du système d'information d'une rhumerie, nous devons mettre en place un service Windows permettant de supprimer des processus.

BDD :
Access

2 fichier :
svcWS.vb : fichier contenant le service windows.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
Protected Overrides Sub OnStart(ByVal args() As String)
        AddHandler tim.Elapsed, AddressOf mvTimer_Elapsed
 
        Me.i = 0
        Me.countPassage = 0
        Me.oDATA = New CLdata()
        Me.oDs = Me.oDATA.getExe()
        'Me.count_process_interdit = Me.oDs.Tables(0).Rows.Count
        'Me.tim.Enabled = True
 
 
    End Sub
Une dll ClData dans le même projet
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
 
Public Class CLdata
 
 
#Region "Private Members"
    REM-----------------------------------
    REM-- Déclaration des membres privés--
    REM-----------------------------------
 
    Private oCNX As Odbc.OdbcConnection
    Private oCMD As Odbc.OdbcCommand
    Private oDA As Odbc.OdbcDataAdapter
    Private R_sql As String
 
#End Region
 
#Region "Interface CL_data"
    REM----------------------------------
    REM--Déclaration des méthodes publiques--
    REM--(interface de classes)--
    REM----------------------------------
    Public Sub New()
 
        Me.oCNX = New Odbc.OdbcConnection("Dsn=MS Access Database;dbq=C:\BDD\processus.accdb;defaultdir=C:\BDD;driverid=25;fil=MS Access;maxbuffersize=2048;pagetimeout=5")
        Me.oCMD = New Odbc.OdbcCommand
        Me.oDA = New Odbc.OdbcDataAdapter
        Me.R_sql = "RIEN"
 
 
 
    End Sub
#End Region
 
#Region "Function of I_data"
    Public Function getExe() As System.Data.DataSet
 
        Dim ods As System.Data.DataSet = New System.Data.DataSet
 
        Me.R_sql = "SELECT Nom_Process_Interdit FROM Processus_Interdit"
 
        With Me.oCMD
            .CommandText = Me.R_sql
            .CommandType = CommandType.Text
            .Connection = Me.oCNX
        End With
 
        With Me.oDA
            .SelectCommand = Me.oCMD
        End With
        'L erreur viens avec la méthode Fill
        Me.oDA.Fill(ods, "Processus_Interdit")
 
        Return ods
    End Function
#End Region
 
End Class
Le OnStart se lance bien, mais le service se bloque du à la méthode fill de l'objet DataAdapter. Je ne vois pas du tout la raison ...