Bonjour,
Je souhaiterai savoir comment accéder aux données d'une base de données Oracle à partir d'une page JSP : quelles instructions et bibliothèque choisir ?
Merci d'avance
Version imprimable
Bonjour,
Je souhaiterai savoir comment accéder aux données d'une base de données Oracle à partir d'une page JSP : quelles instructions et bibliothèque choisir ?
Merci d'avance
comme tu bosses en java, utilises JDBC
oui c'est JDBC que j'utilise pour me connecter a ma base mais toujours a l'exécution de ce code ci-dessus il affiche le message d'exception!!!!!
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 try{ String mondriver = "oracle.jdbc.driver.OracleDriver"; String monurl = "jdbc:oracle:thin:@localhost:1158:orcl"; String moncompte = "system"; String monpasse = "mst"; Connection c = null ; Class.forName(mondriver).newInstance(); c = DriverManager.getConnection(monurl,moncompte,monpasse); Statement stmt = c.createStatement(); ResultSet result=stmt.executeQuery("SELECT NO,NOM FROM TOTO;"); result.close(); stmt.close(); c.close(); }catch(Exception e){ erreur de la connexion a la base de données; }
Il faudrait tracer la pile complète de l'erreur dans l'exception:
Code:e.printStackTrace() ;
j'ai tracer la pile de l'erreur dans l'exception mais j'ai pas compris l'erreur...
Exception:
java.sql.SQLException: Exception d'E/S: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:274)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:328)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:348)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:563)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.apache.jsp.root_jsp._jspService(root_jsp.java:67)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
Merci d'avance pour votre aide.
et vous êtes sûr de votre chaine de connexion ?
Code:"jdbc:oracle:thin:@localhost:1158:orcl";
oui je suis sur!!!
oracle: thin est le sous -protocole fournit par oracle.
@localhost:1158:orcl désigne la base de données orcl situé sur la machine localhost (le serveur écoute sur le port 1158).
je sais pas si je suis trompé ou pas???
Merci de votre aide.
Bonjour,
As tu un client SQL pour te connecter sur la base?
Si oui, reverifies les parametres de connexion(avec le tnsnames)
sinon tu peux essayer d'en configurer un pour voir...
Cdt
Bonjour, j'ai un petit problème pour me connecter à la base oracle dans ma Jsp.
En effet, ma connexion est null. J'ai testé ma connexion sous éclipse avec une procédure principale cela fonctionne. Or, le même code dans une jsp me retourne une connexion null.
Voici ma classe connec:
Code:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 package laconnexion; import java.sql.*; public class connec { private Connection connect; private static connec instance =null; private int cpt; public synchronized static connec getInstance() { if (instance==null) { instance = new connec(); try { Class.forName ("oracle.jdbc.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } }//fin de si return instance; }//fin getInstance() public synchronized void open() { if (cpt==0) { try { connect = DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:","celso","lol"); cpt=cpt+1; } catch (SQLException e) { e.printStackTrace(); } }//fin de si cpt=cpt+1; }//fin de open() public synchronized void close() { if (cpt==0) { try { connect.close(); cpt=cpt-1; } catch (SQLException e) { e.printStackTrace(); } }//fin de si cpt=cpt-1; }//fin de close() public Connection getConnect() { return connect; } }//fin de la classe connec
Et voici ma JSP :
Code:
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 <html> <body> <%@ page import="laconnexion.*"%> <%@ page import="laconnexion.connec" %> <%@ page import="java.sql.*"%> <%@ page import="javax.*"%> <% laconnexion.connec instance; instance=laconnexion.connec.getInstance(); instance.open(); Connection recup = instance.getConnect(); int acces; String login = request.getParameter("login"); String passwd = request.getParameter("mdp"); if (recup != null) { %>test entrer<% acces=0; Statement req1 = recup.createStatement(); ResultSet res = req1.executeQuery("SELECT nom FROM pilote"); while (res.next()) { String nom_bd = res.getString(1); if (nom_bd.equals(login)) { acces=1; } } if (acces==1) { %> <jsp:forward page="acceuil.jsp"/> <% } else { %> <jsp:forward page="log.jsp"/> <% } } %> </body> </html>
Merci d'avance si vous avez la solution.
Bonjour,
Le Driver JDBC c'est : "oracle.jdbc.driver.OracleDriver".
Par défaut, le port d'écoute c'est 1521, tu peux essayer avec ce port et voir si ça marche.
Par contre, le port 1158 est un port utlisé par l'Enteprise Manager Database Control http://hostname:1158/em
Bye
nour
Salut,
pour se connecter à Oracle 10 et plus il faut mettre
et pasCode:Class.forName ("oracle.jdbc.OracleDriver");
Code:Class.forName ("oracle.jdbc.Driver.OracleDriver");
Ou la ... ca déterre dur ... masterdash t'as creusé profond la quand meme ;)
Non j'ai trouver dans une pochette surprise