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 :

[jdbc] general error à cause de Clob


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Points : 26
    Points
    26
    Par défaut [jdbc] general error à cause de Clob
    Salut
    j'exécute une requête sur une base Oracle 9i comme indique ds le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      try {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          Connection connection = DriverManager.getConnection("jdbc:odbc:bdswift", "s_jihed", "s_jihed");
          PreparedStatement stmt = connection.prepareStatement(
              "select Champs_Generaux.N_Sequence,Emetteur,Champ,Valeur from Champs_Generaux,Champs_Autres where Champs_Generaux.N_sequence=Champs_Autres.N_sequence and Champs_Autres.N_sequence=141956");
          ResultSet rs = stmt.executeQuery();
               rs.close();
              connection.close();
            }
            catch (SQLException e) {
              e.printStackTrace();
            }
            catch (ClassNotFoundException f) {}
    L'exécution me génère un General Error,
    si j'enlève le champ "Valeur" qui est de type Clob, la requête marche.
    Comment faire pour exécuter correctement la requête avec un Clob ?
    Merci de votre aide

  2. #2
    Membre du Club

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 25
    Points : 44
    Points
    44
    Par défaut
    bon... je ne comprends pas pourquoi tu utilises un pont OdbcJdbc alors que les drivers JDBC d'oracle 9i marchent bien.
    tu ajoutes le classes12.jar dasn ton Classpath et tu appelles le driver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    pour ton problème:
    1) ta requete fonctionne-t-elle dans SQLPLus?
    2) essaye le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String query = "select Champs_Generaux.N_Sequence,Emetteur,Champ,Valeur from Champs_Generaux,Champs_Autres where Champs_Generaux.N_sequence=Champs_Autres.N_sequence and Champs_Autres.N_sequence=141956";
    Statement stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
    ResultSet rs = stmt.executeQuery(query);
    je ne connais pas le pont ODBC/JDBC sur oracle, mais il se peut que le problème vienne de ce pont justement qui ne gère pas le type Clob qui est spécial.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Points : 26
    Points
    26
    Par défaut
    Merci de l'aide
    La requête fonctionne sous SQL,
    j'ai changé le driver et j'ai inséré la biblio classes12.jar mais j'ai un pbl avec l'url de connection:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@dev:150.24.40.2:1442", "s_jihed", "s_jihed");
    ça ne marche pas!
    que dois je faire (jdbc:oracle:thin:@??????);
    Merci de votre aide

  4. #4
    Membre du Club

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 25
    Points : 44
    Points
    44
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@host:port:SID", "s_jihed", "s_jihed");
    host = nom de l'ordinateur du réseau dans le TNSname.ora ou adresse IP
    port : par défaut 1521 .. peux être différent.. le port sur lequel tourne oracle
    SID : nom de la base dans le TNSNAME.ora

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Points : 26
    Points
    26
    Par défaut
    tout marche bien
    ceci dit il vaut mieux utiliser ojdbc14.jar ds la bibliothèque car classes12.jar est pour le jdk1.2 et moi je travaille avec le jdk1.4

  6. #6
    Membre du Club

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 25
    Points : 44
    Points
    44
    Par défaut
    le classes12.jar marche aussi avec le jdk1.4.
    Seulement le ojdbc14.jar ne sera pas compatible avec les autres jdk.
    Bon il y a aussi d'autres différences mais ce n'est pas la discussion.
    Moi je n'utilise que le classes12.jar même avec le jdk1.5

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ERROR à cause de JDBC
    Par kamaldev dans le forum Installation
    Réponses: 2
    Dernier message: 20/02/2008, 15h32
  2. Erreur SQL General Error
    Par BRUNOOBAME dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/11/2007, 16h35
  3. Réponses: 1
    Dernier message: 02/05/2007, 16h43
  4. Parse error à cause d'un tag <?xml
    Par genova dans le forum Langage
    Réponses: 2
    Dernier message: 10/09/2006, 17h00

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