Code java

cs_mina24 Messages postés 21 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2012 - 6 janv. 2010 à 12:39
cs_mina24 Messages postés 21 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2012 - 7 janv. 2010 à 18:38
bonjour!
je suis un peu bloquée dans mon projet !
je dois ecrire un programme java pour inserer un fichier csv dans une base de données ORACLE 9i mais je ne sais vraiment pas comment faire .j'utilise l'ide eclipse


s'il vous aidez moi à ecrire ce code c'est vraiment tres urgent
merci pour vote aide !

4 réponses

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
6 janv. 2010 à 15:19
Salut,

Lire un fichier csv, le plus simple c'est :

Tu crées un File :
File fichierCSV = new File("D:/monFichierCSV.csv");

Tu crées un reader sur ce fichier :
FileReader lecteurFichierCSV = new FileReader(fichierCSV);

Tu crées un reader bufferisé à partir de ce reader :
BufferedReader lecteurFichierCSVBufferise = new BufferedReader(lecteurFichierCSV);

Ensuite tu lis ligne par ligne jusqu'à ce que la ligne soit null :
String ligneCSV;
while ((ligne = lecteurFichierCSVBufferise.readLine()) != null) {
...
}

Pour extraire les données de chaque colonne pour une ligne, tu peux faire :
String[] colonnes = ligne.split(";");

(à condition que le point-virgule soit le séparateur)

Ensuite pour la connexion à ta base oracle et pour l'exécution des requêtes ce serait un peu plus long à expliquer et il existe déjà un bon tutoriel :

Turoriel JDBC
0
cs_mina24 Messages postés 21 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2012
6 janv. 2010 à 19:42
merci bcp pour votre reponse
je vais faire ce que vous m'avez dit!

merci encor
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
7 janv. 2010 à 09:31
Re,

Sinon il y a SQL Loader qui permet de faire ça en une requête.

load data
infile 'c:\data\mydata.csv'
into table emp
fields terminated by ";" optionally enclosed by '"'
( empno, empname, sal, deptno )

Ce sera sûrement plus rapide (je l'ai testé, j'ai été surpris de la vitesse de traitement).

http://www.orafaq.com/wiki/SQL*Loader_FAQ

L'inconvénient, c'est que tu ne peux pas facilement filtrer les données du fichier ou les modifier etc.
0
cs_mina24 Messages postés 21 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2012
7 janv. 2010 à 18:38
merci oui je trouve que c'est la solution la plus rapide la premiere est un peu compliquée mais je vais les essayer les deux ,merci pour vos reponse
0
Rejoignez-nous