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

JDBC Java Discussion :

Limitation par rapport à la requete "SELECT"


Sujet :

JDBC Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Par défaut Limitation par rapport à la requete "SELECT"
    Bonjour,
    J'ai un trés grand problème,lorsque je fais un select d'une table qui contient plus de 800 enregistrement il m'affiches seulment 520 resultat + 1 enregistremnt "test".

    Si qelqun peut m'aider ! Merci d'avance.

    voila le code :

    package pack1;
    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
     
    import java.sql.*;
     
    public class Connexion 
    {
    public static void main(String[] args)throws SQLException
    {		
    Connection conn = null;
     
    try 
    {	  
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    conn=DriverManager.getConnection"jdbc:oracle:thin:@localhost:1521:mabase","user2","pass2");
    Statement instruction = conn.createStatement();
     
    //LA TABLE DOCUMENT
    ResultSet resultat4=instruction.executeQuery("select reference,date,titre,code from document");
     
    while(resultat4.next())
    {	
    System.out.println("resultat4.getString("reference")");
    System.out.println("resultat4.getDate("date")");
    System.out.println("resultat4.getString("titre")");
    System.out.println("resultat4.getInt("code")");
    System.out.println("------------------------");
    }
    catch (Exception e){
    	System.out.println("Le problème est :"+e); 
    }
    }

  2. #2
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Par défaut
    J'espere avoir une réponse.

  3. #3
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    alors poste dans le bon forum... (java ?)

  4. #4
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    C'est pas plutot ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while(resultat4.next())
    {	
    System.out.println(resultat4.getString(1));
    System.out.println(resultat4.getDate(2));
    System.out.println(resultat4.getString(3));
    System.out.println(resultat4.getInt(4));
    System.out.println("------------------------");
    }
    si tu execute ta requete directement elle ne ramène pas le même nombre d'enregistrement que si tu l'exécute en java ? ca m'étonnerai beaucoup ...

  5. #5
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Je vois pas trop ce que ça change de passer par les numéros de colonnes au lieu des noms mais bon ça fait pas trop avancer les choses

  6. #6
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par remika
    Je vois pas trop ce que ça change de passer par les numéros de colonnes au lieu des noms mais bon ça fait pas trop avancer les choses

    a moins que mes lunettes soient en panne,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("resultat4.getString("reference")");
    c'est pas pareil que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(resultat4.getString(1));
    Après si tu penses que tu fais avancer les choses en faisant ce genre de remarque ...

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Effectivement, il y a une grosse différence entre

    System.out.println("resultat4.getString("reference")");
    et
    System.out.println(resultat4.getString("reference"));
    ou
    System.out.println(resultat4.getString(1));


    Quand ça s'arrête à 521, tu as une erreur ou il s'arrête normalement ?
    Si 2, peut-être qu'il y a une limite sur le nombre d'enregistrements renvoyés.
    Essaye de faire stmt.setMaxRoxs(800); pour tester ce cas.

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Oui bien bien sûr ya une erreur de syntaxe basique, mais vu que ce truc ne compile pas c'est corrigé en 2s... Je vois toujours pas ce que ça change de passer par le numéro de colonne au lieu du nom
    Faut pas se vexer pour rien...

    Et effectivement, c'est ça :
    Quand ça s'arrête à 521, tu as une erreur ou il s'arrête normalement ?
    La vraie question.

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Rassure toi, je ne me vexe pas
    Personnellement, je préfère le nom de la colonne au numéro d'ordre, au moins, si on change la requête, on ne refait pas toutes les séquences...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Par défaut
    Le truc : stmt.setMaxRoxs(800); ne resoud pas le probleme.

  11. #11
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Et avec setMaxRows(0) ?

  12. #12
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Par défaut
    non ça marche pas ,j'ai meme fait statement.setMaxRows(9000); mais le probleme persiste.

  13. #13
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il y a une erreur ou pas ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Petite parenthèse, le setMaxRows(0) indique qu'il n'y a pas de limite, pas qu'il y a 0 enregistrements max.

  15. #15
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Par défaut
    Juste à titre d'information,le programme que j'ai posté ci dessus se connect à une base de données distante sur un serveur :exemple :

    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    conn = DriverManager.getConnection("jdbc:oracle:thin:@server1:1521:base1","user","pass");

    mais lorsque j'utilise le serveur localhost il me donne toute la table.

    Donc ,comment remedier a ce probleme du reseau.

  16. #16
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par in
    si tu execute ta requete directement elle ne ramène pas le même nombre d'enregistrement que si tu l'exécute en java ?
    T'es vraiment sûr que tu n'obtiens pas le bon nombre d'enregistrement ? Puisque tu sembles ne pas avoir d'erreur (tu nous l'aurais dit quand même ??) ... enfin ça parait étrange quoi ...

  17. #17
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Par défaut
    OUI,
    Si je l'execute normalement(directement),elle me donne toute la table, et si je l'execute en java et sous le serveur il me donne toute la table aussi, MAIS si je l'execute en java et à partir d'une autre machine il me donne seulement les 520 premiers lignes avec comme valeurs du premier champ du 520 ieme ligne la valeur "test"

  18. #18
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Tu peux essayer la même chose sur d'autres tables (de plus de 520 enregistrements ) pour voir ? Parceque là c'est clair que c'est pas mal bizarre.

  19. #19
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    juste comme ça la méthode getFetchSize() te renvoie quelle valeur ?

    [EDIT] et cet enregistrement "Test" il est présent dans la table ? a la 521ème ligne du resultat de la requete ?

  20. #20
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu utilises quelle version d'oracle et quelle version de driver JDBC ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Plusieurs fichiers excel par rapport à une requete
    Par arttom dans le forum Développement de jobs
    Réponses: 11
    Dernier message: 07/05/2014, 12h22
  2. Réponses: 1
    Dernier message: 18/06/2009, 15h49
  3. [VBnet][Access] Requete imbriquee "insert + select"
    Par Fab62_ dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/03/2006, 14h58

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