Bonjour,
J'essaye de me connecter a ma BDD Oracle Express Edition 10g (en local) mais j'ai pas mal d'erreurs :
DRIVER OK !
java.sql.SQLException: Exception d'E/S: Got minus one from a read call
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:256)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:388)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:453)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:753)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Connect.main(Connect.java:20)
Je pense que c'est a cause de la chaine de connexion... J'ai testé la requête SQL sur Oracle et elle fonctionne.
Mon programme, il permet juste d'afficher le nom et l'ID des classes dans un collège :
Merci!
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 import java.sql.*; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; // exécute les requêtes SQL et retourne les résultats import oracle.jdbc.driver.*; public class Connect { public static void main(String[] args) { try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("DRIVER OK ! "); String url = "jdbc:oracle:thin:@//127.0.0.1:8080/XE"; String user = "HR"; String passwd = "hr"; Connection conn = DriverManager.getConnection(url, user, passwd); //Création d'un objet Statement Statement state = conn.createStatement(); //L'objet ResultSet contient le résultat de la requête SQL ResultSet result = state.executeQuery("SELECT * FROM CLASSE"); //On récupère les MetaData ResultSetMetaData resultMeta = result.getMetaData(); System.out.println("\n**********************************"); //On affiche le nom des colonnes for(int i = 1; i <= resultMeta.getColumnCount(); i++) System.out.print("\t" + resultMeta.getColumnName(i).toUpperCase() + "\t *"); System.out.println("\n**********************************"); while(result.next()){ for(int i = 1; i <= resultMeta.getColumnCount(); i++) System.out.print("\t" + result.getObject(i).toString() + "\t |"); System.out.println("\n---------------------------------"); } result.close(); state.close(); } catch (Exception e) { e.printStackTrace(); } } }
Partager