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
Merci encore..
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
Partager