Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mettre contenu d'un fichier .log dans une base sqlServer

3 réponses
Avatar
mike
bonjour a tous,je dispose d'un fichier .log qu'il faut que je lise (déja fait
avec stream...)et que je stocke dans une base de donnée sql.
je n'arrive pas a faire le lien entre mon flux d'écriture et mon
sqldatadapter?
merci d'avance

3 réponses

Avatar
Alexis KARTMANN
Pour utiliser un sqldatadapter il faut construire un DataSet.
J'utiliserai quelque chose comme :
//////////////////////////////////////////////////
DataTable table = new DataTable("logtable");
// Ajout des colonnes
DataColumn c1 = new DataColumn("col1", typeof(string);
table.AddColumn(c1);
// Ajouter les autre colonnes...
DataSet ds = new DataSet("dsLogs");
ds.Tables.Add(table);
StreamReader sr = new StreamReader("TestFile.txt"))
string delimStr = "t";
char [] delimiter = delimStr.ToCharArray();

String line;
DataRow dr;
string[] vals;
while ((line = sr.ReadLine()) != null)
{
dr = table.NewRow();
vals = line.Split(delimiter);

// Ajout des valeurs
dr["col1"] = vals[0]
// Ajouter les autres valeurs...

table.AddRow(dr);
}

myDataAdapter.Update(ds);
///////////////////
Evidement il faut adapter ce code au schema de la base SQL.
De même il faut que myDataAdapter possede une InserCommand correctement
defini.

Une autre solution est de construire les requetes d'insertion directement et
de les executer directement par la méthode SqlCommand.ExecuteNonQuery.
Avatar
mike
c bon ca marche encore merci

"Alexis KARTMANN" a écrit :

Pour utiliser un sqldatadapter il faut construire un DataSet.
J'utiliserai quelque chose comme :
//////////////////////////////////////////////////
DataTable table = new DataTable("logtable");
// Ajout des colonnes
DataColumn c1 = new DataColumn("col1", typeof(string);
table.AddColumn(c1);
// Ajouter les autre colonnes...
DataSet ds = new DataSet("dsLogs");
ds.Tables.Add(table);
StreamReader sr = new StreamReader("TestFile.txt"))
string delimStr = "t";
char [] delimiter = delimStr.ToCharArray();

String line;
DataRow dr;
string[] vals;
while ((line = sr.ReadLine()) != null)
{
dr = table.NewRow();
vals = line.Split(delimiter);

// Ajout des valeurs
dr["col1"] = vals[0]
// Ajouter les autres valeurs...

table.AddRow(dr);
}

myDataAdapter.Update(ds);
///////////////////
Evidement il faut adapter ce code au schema de la base SQL.
De même il faut que myDataAdapter possede une InserCommand correctement
defini.

Une autre solution est de construire les requetes d'insertion directement et
de les executer directement par la méthode SqlCommand.ExecuteNonQuery.




Avatar
mike
merci beaucoup c'est bon ca tourne aurevoir

"Alexis KARTMANN" a écrit :

Pour utiliser un sqldatadapter il faut construire un DataSet.
J'utiliserai quelque chose comme :
//////////////////////////////////////////////////
DataTable table = new DataTable("logtable");
// Ajout des colonnes
DataColumn c1 = new DataColumn("col1", typeof(string);
table.AddColumn(c1);
// Ajouter les autre colonnes...
DataSet ds = new DataSet("dsLogs");
ds.Tables.Add(table);
StreamReader sr = new StreamReader("TestFile.txt"))
string delimStr = "t";
char [] delimiter = delimStr.ToCharArray();

String line;
DataRow dr;
string[] vals;
while ((line = sr.ReadLine()) != null)
{
dr = table.NewRow();
vals = line.Split(delimiter);

// Ajout des valeurs
dr["col1"] = vals[0]
// Ajouter les autres valeurs...

table.AddRow(dr);
}

myDataAdapter.Update(ds);
///////////////////
Evidement il faut adapter ce code au schema de la base SQL.
De même il faut que myDataAdapter possede une InserCommand correctement
defini.

Une autre solution est de construire les requetes d'insertion directement et
de les executer directement par la méthode SqlCommand.ExecuteNonQuery.