Remplir base de donné a partir d'un fichier .log

mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005 - 3 févr. 2005 à 10:15
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005 - 7 févr. 2005 à 08:58
bonjour, je dois lire un fichier log et remplir une base sqlServer
j'utilise c# et j'ai un problème avec l'utilisation de mes
flux filestream,streamwriter et streamreader
merci

14 réponses

Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
3 févr. 2005 à 12:51
Bonjour,

Tu peux etre plus précis sur l'erreur ( code ...)

hum.......
0
mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005
3 févr. 2005 à 14:17
//fildialdonnéchificlog==boite de dialogue dont je recupere le chemin complet
de ma base de donnée


FileStream fichier=
new System.IO.FileStream
(filDialDonnéChoiFicLog.FileName.ToString(),System.IO.FileMode.OpenOrCreate);


StreamWriter ecrit=
new StreamWriter(fichier);

//fildialdonnéchoificlog==boite de dialogue
dont je recupere le chemin du fichier.log a lire
StreamReader lect=
new StreamReader(filDialDonnéChoiFicLog.FileName.ToString());

while(lect.ToString()!="")
{
ecrit.WriteLine(lect);
lect.ReadLine();
}

merci d'avance.
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
3 févr. 2005 à 14:26
tu n'as pas besoin de mettre tostring. et met le mode d'acces

FileStream fichier=
new System.IO.FileStream
(filDialDonnéChoiFicLog.FileName,System.IO.FileMode.OpenOrCreate,FileAccess.Read
);


inutile si tu fais que de la lecture
StreamWriter ecrit=new StreamWriter(fichier);

string sTamponDeLecture;
StreamReader lect=
new StreamReader(fichier);

{
sTamponDeLecture = lect.ReadLine();

}

Essaye un truc du genre

hum.......
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
3 févr. 2005 à 14:29
oups la boucle while ( biensus faut que tu la mette ) à disparu mais avec un test comme tu faisais ca peut poser des pb tout dépend de ton fichier.

hum.......
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005
3 févr. 2005 à 14:31
merci, mais aprés je dois ecrire chaque ligne dans une base de donnée...
désolé je débute
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
3 févr. 2005 à 14:36
La c'est plus chaud, tu t'es renseigné avant sur le mode fonctionnement des bases données ( connection, requetes, ... )

hum.......
0
mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005
3 févr. 2005 à 14:46
oui,j'ai un sqlconnection,sqladapter et dataset.
le fichier de ma base de donnée sql doit bien avoir une extension .mdf ?
je ne sais pas comment gérer le flux d'écriture en meme temps que le flux de lecture
pourrai tu déja m'aider a écrire non pas dans base de donnée mais dans un second fichier log
chaque ligne de mon fichier log initiale
merci
mook.
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
3 févr. 2005 à 15:15
Et si tu recopiais directement ton fichier log sous un autre nom ? ou tu veux supprimer des choses dans ton fichier log ?

hum.......
0
mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005
3 févr. 2005 à 15:33
c bon j'ai trouvé comment ecrire les lignes du premiers fichier.log dans le deuxième:


FileStream fichier=
new System.IO.FileStream(filDialDonnéChoiFicLog.FileName,System.IO.FileMode.OpenOrCreate,FileAccess.Read);



string ligne;


StreamReader lect=
new StreamReader(fichier);


ligne=lect.ReadLine();



while(ligne!=
null)


{
ecrire(ligne);
ligne = lect.ReadLine();
}
}



public
void ecrire(
string ligne)


{
FileStream fichier=
new System.IO.FileStream(fildialDonnéchoiBdd.FileName,System.IO.FileMode.Append,FileAccess.Write);
StreamWriter ecrit=
new StreamWriter(fichier);
ecrit.WriteLine(ligne);
ecrit.Close();
}
0
mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005
3 févr. 2005 à 15:33
c bon j'ai trouvé comment ecrire les lignes du premiers fichier.log dans le deuxième:


FileStream fichier=
new System.IO.FileStream(filDialDonnéChoiFicLog.FileName,System.IO.FileMode.OpenOrCreate,FileAccess.Read);



string ligne;


StreamReader lect=
new StreamReader(fichier);


ligne=lect.ReadLine();



while(ligne!=
null)


{
ecrire(ligne);
ligne = lect.ReadLine();
}
}



public
void ecrire(
string ligne)


{
FileStream fichier=
new System.IO.FileStream(fildialDonnéchoiBdd.FileName,System.IO.FileMode.Append,FileAccess.Write);
StreamWriter ecrit=
new StreamWriter(fichier);
ecrit.WriteLine(ligne);
ecrit.Close();
}
0
mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005
3 févr. 2005 à 15:39
il ne reste maintenant plus qu'a cherché comment ecrire dans la base sql
avec le sqldatadapter...
merci.
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
3 févr. 2005 à 15:51
à ta place je ferais plutot quelque chose comme ca :

FileStream fichierLog
=new System.IO.FileStream(filDialDonnéChoiFicLog.FileName,System.IO.FileMode.OpenOrCreate,FileAccess.Read);


StreamReader lect=new StreamReader(fichierLog);



FileStream fichierBDD=
new System.IO.FileStream(fildialDonnéchoiBdd.FileName,System.IO.FileMode.Append,FileAccess.Write);
StreamWriter ecrit=new
StreamWriter(fichierBDD);

string ligne;


ligne=lect.ReadLine();


while(ligne!=null)
{
ecrit.WriteLine(ligne);
ligne = lect.ReadLine();
}
Concernant la boucle il doit y avoir plus simple avec la position...

et surtout n'oublie pas de fermer tous tes flux
ecrit.Close();
lect.Close();
fichierLog.Close();
fichierBDD.Close();

hum.......
0
mook5naz Messages postés 16 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 2 juin 2005
4 févr. 2005 à 11:39
ca na pas marché apparemment il faut utiliser le datadapter et la command insert de ce dernier.
mais on dirait que l'instruction sql ne parvient pas a ma base??
je ne sais plus quoi faire!
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
7 févr. 2005 à 08:58
Déjà créer un autre sujet pour exposer ton probleme

hum.......
0