Bonjour,

Pouvez vous m'aider ?
Merci déjà d'avoir lu mon message

DOnc je suis développeur DEBUTANT, donc pas de ouhhh svp

voila mon souci
Une base de donnée SQLSERVER génère un fichier .txt dans ce fichier on retrouve sur chaque ligne 2 champs qui sont écrit de cette facon
"1542848562842//articles 1"
Ce fichier txt est ensuite envoyé à un pocket pc qui est sous windows mobile 5.0
dans ce pocket pc il y a un programme qui est censé récupérer ce fichier txt et le lire et faire des "insert" dans une base de données sqlCE chaque champs du fichier correspondant à un champs de la table "articles" .
voila donc tout marche très bien mais le problème c'est que ces trop lent en effet 50 000 lignes dans le fichier txt et je faisais un insert pour chaque ligne ce qui donne plus de 10 min d'attente (énorme)
Donc je cherche une solution pour optimiser tout ca
une solution du coté du code car le fichier txt recu sera toujours en txt je ne peux pas demander une simple synchro base de donnée sqlSErver et sqlServerCE
Voila merci pour votre aide

voici le code : Je rappelle que c'est écrit en vb.net peu importe le type de connexion mais il me semble que le xmlShema ne marche pas en pocketpc


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
 If File.Exists(sFichier) Then
 
                sr = New StreamReader(sFichier)
 
 
                If sr.Peek <> -1 Then 'si le fichier n'est pas vide
                    PSqlCeCommand = PSqlCeConnection.CreateCommand()
                    PSqlCeCommand.CommandText = "DELETE FROM Articles"
                    PSqlCeCommand.ExecuteNonQuery() 'effacement de la table articles
                    PSqlCeCommand.Dispose()
 
                    Do Until sr.Peek = -1 'scan de chaque ligne du fichier jusk'a la fin
 
                        sLigne = sr.ReadLine()
 
                        If sLigne <> "" Then 'evite les lignes vides qui provoquent des erreurs
 
 
                            sEnr = sLigne.Split(CsSeparateur)
                            sCB = sEnr(0)
                            sLibLong = sEnr(2)
 
 
 
 
                            sTest = "INSERT INTO Articles (CodeBarre, LibelleLongArticle) VALUES ('" & sCB & "','" & sLibLong & "')"
 
                            PSqlCeCommand = PSqlCeConnection.CreateCommand()
 
                            PSqlCeCommand.CommandText = sTest
 
                            PSqlCeCommand.ExecuteNonQuery()
                            PSqlCeCommand.Dispose()
 
                        End If
 
                    Loop
 
                End If
 
            End If
Merci encore..