Bonjour,
J'ai un probleme et je veux bien que qqn m'aide.
J' essai d'inserer des données dans une bd oracle 8i à partir d'un fichier.txt; ma table contient trois champs. dans mon fichier les données sont séparé par ";" et les enregistrements par "/n" . j'ai reussi à inserer juste le premier enregistrement. J' ai en fait deux problemes : - A chaque fois que j'execute la premiere ligne se reinsere et les entres ne n'enregistre pas.
Je serai tré reconnaissante si qqn peut m'aider.
Voici mon bout de code:
static public void CloseConnection(Connection c) {
try {
c.close();
}
catch (SQLException sql) {
sql.printStackTrace();
}
}
static public void lireBdd(String nomFichier, Statement s )
throws IOException, SQLException{
// ouverture du fichier
BufferedReader f = new BufferedReader(new FileReader(nomFichier));
String ligne = f.readLine(); // notre buffer
while (ligne != null) {
String[] tokens = ligne.split(";"); // séparation des segment(donne separare par tabulation
String insertString = "INSERT INTO " + Table +
" (ID, PRENOM, NOM)" +
"VALUES('"+tokens[0]+"','"+tokens[1]+"','"+tokens[2]+"')";
s.executeUpdate(insertString);
ligne = f.readLine();
}
f.close();
}
static public void insertData(Statement s) throws SQLException {
}
/************************************************ Fonction Principale **************************************************/
public static void main(String args[]) throws SQLException, Exception {
Connection c = null ;
try {
Class.forName(mondriver).newInstance();
c = DriverManager.getConnection(monurl,moncompte,monpasse);
}
catch (ClassNotFoundException ex){
System.out.println(ex);
}
Statement s = c.createStatement() ;
c.setAutoCommit(false) ;
lireBdd("fichier.txt",s);
c.commit() ;
c.setAutoCommit(true) ;
CloseConnection(c);
}
}