IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Programme pour faire des requêtes mensuelles


Sujet :

Java

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 0
    Points
    0
    Par défaut Programme pour faire des requêtes mensuelles
    Bonjour,

    J'ai besoin d'aide pour écrire un programme qui me permet de lancer des requêtes chaque mois automatiquement, et qui me met les résultats de la requêtes dans un fichier excel.
    J'ai besoin d'une documentation ou d'un programme qui pourrait peut être m'orienter.

    Merci de votre aide

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,
    Pour écrire dans un fichier excel tu as Jexcel API dont un exemple d'utilisation est ici. Et pour la planification je te suggère d'utiliser les fonctionnalités de planification offertes par ton OS. sous quel OS vas tu faire tourner ton appli?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Je vais le faire tourner sous windows, j'écris le programme avec eclipse.

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Tu developpes donc une classe Java qui va se connecter à une base et générer un fichier excel en utilisant l'API que je t'ai envoyé précédemment, et dès que ça marche sous eclipse, tu génères ton jar sous le controle d'eclipse, et ensuite tu crèes un fichier .bat dans lequel tu fais appel via la commande java à ton jar. et pour terminer tu planifies en tâche windows . le reste on ne peut mieux t'aider si tu ne présentes pas progressivement des bouts de code .
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    D'accord!
    Je vais commencer à écrire mon code je reviens vers vous si j'ai d'autres questions ou besoin d'aide...
    Merci

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    import java.util.Date;
    import java.util.TimerTask;
    import java.sql.*; 
    import java.io.*; 
    //import java.util.jar.*;
    //import java.util.zip.*;
    import java.sql.SQLException;
     
     
    @SuppressWarnings("unused")
    public class Timer
    {
        public static void main (String[] args)
        {
            Timer timer = new Timer();
            timer.schedule (new TimerTask() {
                public void run()
                {
                    System.out.printf ("%tR\n", new Date());
                }
            }, 0);
        }
     
        public void schedule(TimerTask timerTask, long firstime) {
    		// TODO Auto-generated method stub
     
        	/*-------------------------------------------------------------------------------------------
        	* 						--->	Connexion sur ORACLE avec Singleton  <----
        	*-------------------------------------------------------------------------------------------*/ 
     
        	class base {
        	/*----------------------------on creer l'instance a NULL     --------------------------------------------------*/
        		 	 private base myConnexion=null;
        			 	Connection cnx = null ;
        				Statement stmt = null;
        				ResultSet rs = null;
        				ResultSet  resultats;
     
    			//*--------------Constructeur Privé de l'instance
     
     
        				private base(){
        					try
        					{
        						//chargement de driver
        						Class.forName("Driver");
        						System.out.println ("driver etablie");
        						//System.out.println("connexion etablie");Establish the connection to the database.
        					}
        					catch(Exception e)
    					{
    						 System.out.println ("erreur:Driver int" +
    						 "rouvable");
    					}
     
    					try
    					{
    						 String URL = "http://****.fr:8080/****/requeteur/admin/liste_requete.jsp";
    						 String USER = "****";
    						 String PASSWD = "****";
     
    						 cnx =DriverManager.getConnection(URL,USER, PASSWD);
    						 System.out.println ("connexion base pfe etablie");
    					}
    					catch(Exception e)
    					{
    						  System.out.println ("erreur: base introuvable");
     
    					}
        				}
     
        				public base getConnection(){
        					if(myConnexion == null){
        						return myConnexion=new base();
     
        					}
        					else{
        						return myConnexion;
        					}
     
     
        				}
     
        				public void select(){
        					String  requete = "select NOM DE LA REQUETE from MES REQUETES WHERE NOM DE LA REQUETE LIKE 'aminata_%'" +
        							"select Editer la requête from MES REQUETES" +
        							"UPDATE FILTRE SET month(psdate)=CURRENT_DATE WHERE (SELECT month from FILTRE);" +
        							"select Visualiser from REPRESENTATION";
        					 try {
        						 Statement stmt = cnx.createStatement();
        						resultats = stmt.executeQuery(requete);
        					 } catch (SQLException e) {
        						 System.out.println("Anomalie lors de l'execution de la requête");
        					 }
     
     
     
        					 try {
        						// resultats = cnx.executeRequeteAndGetResults(requete);
     
        						 System.out.println("parcours donné requete");
        						 ResultSetMetaData rsmd = resultats.getMetaData();
        						 String [] nom=new String[(rsmd.getColumnCount())];
        						 for(int i=0;i<nom.length;i++){
        							 System.out.println("colonne name === "+rsmd.getColumnName(i+1));
        							 System.out.println("resu == "+(String)resultats.getString("NOM"));
        							 String mesColonne=resultats.getString(rsmd.getColumnName(i+1));
        							 nom[i]=mesColonne;
        						 }
     
        						 for(int i=0;i<nom.length;i++)
        						 { System.out.println("--- "+nom[i]);}
     
        					 } catch (SQLException e) {
        						 System.out.println("probleme au niveau des données");
        					 }
     
        				  }
        	}
     
        }
    }
    Voilà mon code qui devrait me permettre de me connecter à ma base.
    Je devrai ajouter un code qui me permet de générer un fichier excel. J'ai trouvé quelques code mais je ne suis pas sure de ce premier code.
    Pourriez vous me faire une petite correction s'il vous plait? merci

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu n'a pas besoin de timer ou de scheduelr dans ton code. Fait juste ton travail, et tu laissera l'OS se charger de lancer ton programme chaque mois, car tu ne vas pas laisser un programme java tourner en mémoire ad vitam juste pour faire un petit calcul chaque mois.

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Après avoir fait le main, lors de la compilation, j'ai :
    erreurriver introuvable
    erreur: base introuvable

    Je dois avoir un problème avec ma classe le drive de la classe base;
    j'ai mis Class.forName("com.mysql.jdbc.Driver").newInstance(); à la place de Class.forName("Driver")
    et ajouter jdbc devant l'URL String URL = "jdbc:mysql:http://..."
    Mais ça ne change pas mon résultat.

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    C'est bien de mettre des messages custom, mais ce serait mieux de mettre des messages complet. As-tu bien ajouté ton driver à ton projet?

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    // Pour la connexion avec Oracle
    // Pour les entrée sorties
    //import java.util.jar.*;
    //import java.util.zip.*;
     
     
        	/*-------------------------------------------------------------------------------------------
        	* 						--->	Connexion sur la base  <----
        	*-------------------------------------------------------------------------------------------*/ 
     
        	public class base {
        	/*----------------------------on creer l'instance a NULL     --------------------------------------------------*/
        		 	 private static base myConnexion;
        			 	Connection cnx = null ;
        				Statement stmt = null;
        				ResultSet rs = null;
        				ResultSet  resultats;
     
    			//*--------------Constructeur Privé de l'instance
     
     
        				private base(){
        					try
        					{
        						//chargement de driver
        						Class.forName("com.mysql.jdbc.Driver").newInstance();
        						System.out.println ("driver etablie");
        						//System.out.println("connexion etablie");Establish the connection to the database.
        					}
        					catch(Exception e)
    					{
    						 System.out.println ("erreur:Driver int" +
    						 "rouvable");
    					}
     
    					try
    					{
    						 String URL = "jdbc:mysql:http://....";
    						 String USER = "";
    						 String PASSWD = "";
     
    						 cnx =DriverManager.getConnection(URL,USER,PASSWD);
    						 System.out.println ("connexion base parfaitement etablie");
    					}
    					catch(Exception e)
    					{
    						  System.out.println ("erreur: base introuvable");
     
    					}
        				}
     
        				public static base getConnection(){
        					if(myConnexion == null){
        						return myConnexion=new base();
     
        					}
        					else{
        						return myConnexion;
        					}
     
     
        				}
     
        				public void select(){
        					String  requete = "select NOM DE LA REQUETE from MES REQUETES WHERE NOM DE LA REQUETE LIKE 'aminata_%'" +
        							"select Editer la requête from MES REQUETES" +
        							"UPDATE FILTRE SET month(psdate)=CURRENT_DATE WHERE (SELECT month from FILTRE);" +
        							"select Visualiser from REPRESENTATION";
        					 try {
        						 Statement stmt = cnx.createStatement();
        						resultats = stmt.executeQuery(requete);
        					 } catch (SQLException e) {
        						 System.out.println("Anomalie lors de l'execution de la requête");
        					 }
     
     
     
        					 try {
        						// resultats = cnx.executeRequeteAndGetResults(requete);
     
        						 System.out.println("parcours donné requete");
        						 ResultSetMetaData rsmd = resultats.getMetaData();
        						 String [] nom=new String[(rsmd.getColumnCount())];
        						 for(int i=0;i<nom.length;i++){
        							 System.out.println("colonne name === "+rsmd.getColumnName(i+1));
        							 System.out.println("resu == "+(String)resultats.getString("NOM"));
        							 String mesColonne=resultats.getString(rsmd.getColumnName(i+1));
        							 nom[i]=mesColonne;
        						 }
     
        						 for(int i=0;i<nom.length;i++)
        						 { System.out.println("--- "+nom[i]);}
     
        						/* int nbCols = rsmd.getColumnCount();
        						// System.out.println("resultat "+resultats);
        						 boolean encore = true;//resultats.next();
        						 while (encore) {
        							 System.out.println("eee");
        								 for (int i = 0; i <= nbCols; i++){
        									 System.out.println("eee");
        									 	System.out.print(rsmd.toString()+ " --- ");
        								 }
        								 System.out.println("eee");
        								 encore = resultats.next();
        						 }
        						 resultats.close();
        						 */
        					 } catch (SQLException e) {
        						 System.out.println("probleme au niveau des données");
        					 }
     
        				  }
        				public static void main(String[] args) {
    						 System.out.println("nouvelle connexion");
    						 System.out.println("nouvelle connexion sur " + getConnection());
     
        	    	    }			
        	}
    voilà le code modifié

Discussions similaires

  1. Exécutable pour faire des requêtes automatiques.
    Par Debutant10 dans le forum SAP
    Réponses: 1
    Dernier message: 20/10/2013, 12h36
  2. Quel code pour faire des requte hibernate
    Par Philcmoi dans le forum Hibernate
    Réponses: 3
    Dernier message: 06/09/2010, 21h02
  3. Outil graphique pour faire des requêtes ?
    Par falco- dans le forum SGBD
    Réponses: 0
    Dernier message: 27/01/2010, 12h48
  4. Réponses: 46
    Dernier message: 04/08/2006, 00h18
  5. Réponses: 7
    Dernier message: 16/04/2005, 08h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo