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. #21
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    voila :

    Statement statment = conn.createStatement();
    int s=statment.getFetchSize();
    System.out.println(s);

    ce code me retourne la valeur "10" Même si je change de table et de requetes pour des tables qui contient ples de 600 enregistrements et à travers le reseau.

    j'utilise " ojdbc14.jar "jdbc 1.4 et oracle 9

    L'enregistrement "Test" n'est pas présent dans la table d'origine .mais à la 521ème ligne (le dernier) du resultat retourné par la requete select
    Même si je change la valeur .setfetchsize ça change rien.

    il n y a pas d'enregistrement dans la table avec le nom test.

  2. #22
    in
    in est déconnecté
    Membre expérimenté 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
    Points : 1 718
    Points
    1 718
    Par défaut
    je dis ça comme ça mais c'est un peu du bricolage ...

    Si tu regardes le nombre d'enregistrements (last() puis getRow()) quelle valeur tu obtiens ?

    si tu augmentes le fetchSize, est ce que ça change quelque chose ?

    Le driver que tu utilises c'est ojdbc14.jar ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  3. #23
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 84
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    Il n'y aurait pas un record avec reference = 'TEST' dans ta table et qui poserait problème?

    Il faudrait aussi imprimer le stacktrace dans le catch des exceptions pour voir si il y a un plantage dans le pilote jdbc ou non.

  4. #24
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    Salut Les Amis,Le problème est toujours là.

  5. #25
    in
    in est déconnecté
    Membre expérimenté 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
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par tizilfin
    Salut Les Amis,Le problème est toujours là.
    ben oui mais c'est à toi de répondre à nos questions :

    Citation Envoyé par in
    Si tu regardes le nombre d'enregistrements (last() puis getRow()) quelle valeur tu obtiens ?
    As tu par hasard essayé de retelecharger le driver ...

    est ce que tu ne réutilises pas le statement ailleurs ? Y'a -til un timeout sur la connexion avec le serveur ?

    je vois pas trop sinon ...

    [EDIT] quand tu testes sur le serveur (et que ça marche) c'est bien avec le même user ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  6. #26
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    ::: voila le code complet :::
    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
     
    package P1;
     
    import java.sql.*;
     
    public class hhh {
    public static void main(String[] args) throws SQLException {
    Connection conn = null;
    Connection conn2 = null;
    try {
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    conn = DriverManager.getConnection("jdbc:oracle:thin:@server:1521:db1","user","pass");
    conn2 = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:db2","user","pass");
    Statement instruction = conn.createStatement();
    Statement instruction0 = conn.createStatement();
    ResultSet resultat = instruction.executeQuery("SELECT id,nom,prenom,email,id_authentification FROM table1");
    PreparedStatement stat1 = conn2.prepareStatement("insert into table2(id,nom,prenom,email,login,password) values(?,?,?,?,?,?)");
    while(resultat.next())
     {
    ResultSet resultat2 =instruction0.executeQuery("SELECT login,passworde FROM authentification where id_authentification="+resultat.getInt("id_authentification"));    
    try{
    while(resultat2.next())
    {
    try{
    stat1.setInt(1,resultat.getInt("id"));
    stat1.setString(2,resultat.getString("nom"));
    stat1.setString(3,resultat.getString("prenom"));
    stat1.setString(4,resultat.getString("email"));
    stat1.setString(5,resultat2.getString("login"));
    stat1.setString(6,resultat2.getString("passworde"));
    stat1.executeUpdate();
    }catch(Exception e1){
    e1.printStackTrace();
    }
    } 
    }catch(Exception e2){
    e2.printStackTrace();
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    voila lorsque j'execute ce code et je verifier la table table2 sur localhost:db2 je trouve exactement 521 lignes dans la table table2 et le dernier c un test c-a-d comme ça :
    champ1|champ 2 |champ3
    test 12 45 ........



    Mais dans server:db1 et plus precisement dans la table1 il n ya pas d'enregistrement test et il ya 800 et qelque enregistrements.

    suis-je clair là.....

    pour vous rappeler dans le server:db1 j'ai deux table :table1 et table authentification et dans localhost j'ai la table table2 comme "jointure des deux table".
    Merci pour vous.

  7. #27
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    Je vois que c'est un grand problème ,cette limitation de resultset à travers le reseau.

    Prière de répondre........

  8. #28
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    No more data available to read

  9. #29
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    Tu les affiches où les donnée? Sur une table ou sur la console de l'ide? Si c'est sur la console de l'ide, je crois qu'il y une limite d'affichage.

  10. #30
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Points : 562
    Points
    562
    Par défaut
    Bonjour,

    Tu dis
    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.
    Et dans ton code, je ne vois pas la difference entre le localhost et le serveur distant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    conn = DriverManager.getConnection("jdbc:oracle:thin:@server:1521:db1","user","pass");
    conn2 = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:db2","user","pass");
    As tu verifie que tes deux bases ont les meme parametres?

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, 11h22
  2. Réponses: 1
    Dernier message: 18/06/2009, 14h49
  3. [VBnet][Access] Requete imbriquee "insert + select"
    Par Fab62_ dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/03/2006, 13h58

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