Connexion à oracle+ listing des bases

Connexion à oracle+ listing des bases - Java - Programmation

Marsh Posté le 01-05-2008 à 15:27:46    

Bonjour,
 
Comme je l'ai fait avec des bases MySQL, j'aimerais me connecter à Oracle en java pour en lister les bases de données.
 
J'ai déjà un problème pour me connecter. En faisant des recherches sur internet, j'ai trouver cette méthode toute simple:
 

Code :
  1. try{
  2.   DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
  3.         Connection conn = DriverManager.getConnection
  4.              ("jdbc:oracle:thin:@127.0.0.1:1521:EXTRA", "system", "manager" );
  5.                              // @machineName:port:SID,   userid,  password
  6.         Statement stmt = conn.createStatement();
  7.        
  8.         ResultSet rset = stmt.executeQuery("SELECT NAME FROM V$DATABASE;" );
  9.        /* while (rset.next())
  10.               System.out.println (rset.getString(0));   // Print col 1
  11.         stmt.close();*/
  12.        
  13.  }
  14.  catch (
  15.    Exception ex) {
  16.    System.err.println("Erreur pendant la connexion" );
  17.    ex.printStackTrace();
  18.    MessageBox.creerMessBox("err",System.getProperty("confirmer.erreurbdd" ));
  19.    }
  20.  return "ok";
  21. }


ça ne fonctionne pas, la ligne:  ResultSet rset = stmt.executeQuery("SELECT NAME FROM V$DATABASE;" ); fait planter l'application : java.sql.SQLException: ORA-00911: Caractère non valide
 
j'ai essayé avec select * from test (j'ai une table test dans la base EXTRA) mais ça ne fonctionne pas non plus.
 
Je n'arrive pas à trouver l'erreur... :(

Reply

Marsh Posté le 01-05-2008 à 15:27:46   

Reply

Marsh Posté le 01-05-2008 à 16:04:27    

Essaie d'enlever le ';' a la fin de ta requete.

Reply

Marsh Posté le 03-06-2008 à 22:16:21    

Des nouvelles ? J'ai le même problème.
En fait j'ai une méthode qui retourne un script sql (une String), et avant de faire un executeUpdate() j'enlève le dernier caractère (donc le ;).

 

Mon script est sous la forme :

Code :
  1. Create table maTable( .....);
  2. Create table autreTable(...)


et ça ne passe pas. Alors qu'en faisant une seule "create" à la fois, ça passe :

Code :
  1. Create table maTable( .....)
 

Il  n'y a pas moyen de faire plusieurs requetes/Insctructions en même temps ?

Message cité 1 fois
Message édité par astrojojo le 03-06-2008 à 22:16:54
Reply

Marsh Posté le 03-06-2008 à 23:32:38    

astrojojo a écrit :


Il  n'y a pas moyen de faire plusieurs requetes/Insctructions en même temps ?


Tu peux utiliser les méthodes addBatch() et executeBatch() de Statement.


Message édité par charly007 le 03-06-2008 à 23:32:52
Reply

Marsh Posté le 04-06-2008 à 19:21:32    

Merci je vais regarder ça :).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed