1

Voila, j'ai eu cette fameuse erreur a l'ecran et je ne vois pas d'ou elle vient.
On tente tout simplement de faire une connection a une base de donnees via JSP, avec le fichier que voici :

<%@ page info="Busqueda sobre BD" import="carrel.bd.EnlaceBd" %>
<jsp:useBean id="EnlaceBd" scope="session" class="carrel.bd.EnlaceBd" />

<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>Conexión con Carrel</title>
</head>

<body bgcolor="#FFFFFF">

<p>&nbsp;</p>

<p><font face="Arial">Conexión con Carrel:</font></p>

<%! String strAux; %>
<%! String strUs; %>
<%! String strPas; %>

<%
strUs = request.getParameter("StrUsu")
strPas = request.getParameter("StrPwd")
if (strUs==null || strUs.equals("")) {
%>
<form method="POST">
<p>Usuario: &nbsp; &nbsp;
<input type="text" size="20" name="StrUsu" VALUE="dbcarrel1"></p>
<p>Password: &nbsp;
<input type="password" size="20" name="StrPwd" VALUE="dbcarrel1"></p>
<p><input type="submit" name="cmdConectar" value=" Conectar "> </p>
</form>
<%
}
else {
strAux = EnlaceBd.DBConnect(strUs,strPas);
if (strAux.equals("")) {
%>
<p><font face="Arial"> Conexión realizada correctamente. </font></p>

<p><a href="../menu/inicio.jsp"> Menú </a></p>
<%
}
else
{
%>
<p><font face="Arial"> Error! Conexión no realizada. </font></p>
<p><font face="Arial"> <%= strAux %> </font></p>
<%
}
}
%>

</body>
</html>
ET la methode EnlaceBd.DBconnect est la suivante

public String DBConnect(String StrUsu, String StrPwd) {
String retVal = "";


try {
Class.forName(m_DBDriver);
m_conn = DriverManager.getConnection(m_DBLoc,StrUsu,StrPwd);
m_Statement = m_conn.createStatement();
//bEstado=true;
}
catch (ClassNotFoundException e) {retVal = e.toString();}
catch (SQLException e) {retVal = e.toString();}

strLastError = retVal;

return(retVal);
}


ou m_conn et m_statement sont globales.
J'ai bien positionnees mes variables a prioir, y compris JAVA_HOME-.
J'ai aucun forward ni aucun include.

Alors ... d'ou ca vient !!!???
Merci d'avance !!


CE que j'obtiens a l'ecran est :

Conexión con Carrel:
Error: 500
Location: /fuentes/jsp/bd/conexion.jsp
Internal Servlet Error:

java.lang.IllegalStateException: Response has already been committed
at org.apache.tomcat.core.HttpServletResponseFacade.sendError(HttpServletResponseFacade.java:157)
at org.apache.jasper.runtime.JspServlet.unknownException(JspServlet.java:299)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)
at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:484)

Cinq font un et un font cinq : le tout est UNITE.
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi, et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.

2

je comprends rien sick
avatar
Mon âme rayonnait du feu de ton feu,
Ton monde était une eau chuchotante
A la riviére de mon coeur.

Rumi, poéte soufi

3

A noter que j'utilise KDE de Suse Linux 7.3,
la base de donnees est Oracle 9i.
Les drivers installes devaient soi disant fonctionner pour Oracle 9, mais il semble que ce soient les memes que pour Oracle 8.
Cinq font un et un font cinq : le tout est UNITE.
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi, et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.

4

Smeet c'est tres simple, tu as renvoyé les header apres avoir ecrit dans la page, ce qui n'est pas valid, si tu penses ne rien avoir ecrit, c'est peut etre a cause du fait, que tu as provoqué une erreur qui a renvoyé une reponse dans la page, avant les headers!

5

regarde, ta pile d'appel de fonction:
at org.apache.tomcat.core.HttpServletResponseFacade.sendError(HttpServletResponseFacade.java:157)

6

Tu vois, une exception non gérée a ete generee

7

[nosmile]
Bon, merci beaucoup pour ta reponse !, je deseserais que qqn daigne etudier la question.

Maintenant, voila mes remarques.
Pourt simplifier, prenons le code jsp suivant :
________________________________________________________________________________________________

<%@ page import="java.sql.*" %>

<html>
<head>
<title>Conexión con Carrel</title>
</head>

<body bgcolor="#FFFFFF">
<p><font face="Arial">Conexión con Carrel:</font></p>


<%! String strAux =new String("") %>
<%
if (request.getParameter("StrUsu")==null) {
%>
<form method="POST">
<p>Usuario: &nbsp; &nbsp;
<input type="text" size="20" name="StrUsu" VALUE="dbcarrel1"></p>
<p>Password: &nbsp;
<input type="password" size="20" name="StrPwd" VALUE="dbcarrel1"></p>
<p><input type="submit" name="cmdConectar" value=" Conectar "> </p>
</form>
<%
} else {
Connection conn = null;
Class.forName("oracle.jdbc.driver.OracleDriver")
conn = DriverManager.getConnection("jdbcembarrassedracle:thin:@quiron.santpau.es:1525embarrassedra1","system","oradbd")

if (strAux.equals("")) {
%>
<p><font face="Arial"> Conexión realizada correctamente. </font></p>
<p><a href="../menu/inicio.jsp">Menú</a></p>
<%
} else {
%>
<p><font face="Arial"> Error! Conexión no realizada. </font></p>
<p><font face="Arial"> <%= strAux %> </font></p>
<%
}
}
%>

</body>
</html>
_________________________________________________________________________________________________

Si je comprends bien ta remarque, c'est la premiere ligne qui leve une erreur nojn capturee, ecrit a l'ecran avant les headers et fait planter

1. Lorrsque je commente la ligne
conn = DriverManager.getConnection("jdbcembarrassedracle:thin:@quiron.santpau.es:1525embarrassedra1","system","oradbd")
il n'y a plus d'erreur ( et pas de connexion non plus, malheureusement !!)
D'apres toi, c'est parceque le compilateur ne tente pas d'importer java.sql ?

2. Si je deplace la premiere ligne pour la mettre apres les headers et avant le body (je ne sais pas si c'est correct en jsp !?), il se passe EXACTEMENT la meme erreur qu'avant

3. j'avais deja lu une remarque du genre dans un forum de javasoft. Ce qui m'avait fait penser que ce n'est pas la meme erreur ici, c'est que la ligne "conexión con carrel" s'affiche toujours a l'ecran !

Pour moi, l'erreur provient de la ligne getConnection.
Les drivers sont bien jdbcembarrassedracle:thin, et ils sont installes.
La machine est quiron.santpau.es, aucun doute la dessus.
...

Voila voila, bref, c'est l'embrouille complete...
Qu'en penses tu, toi qui as l'air de bien cerner le probleme ?!
Que dois je faire maintenant?
Cinq font un et un font cinq : le tout est UNITE.
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi, et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.

8

C'est une erreur assez aucune, au php, servlet, et asp, il ne fautr rien envoyer en sortie avant d'envoyer les header, a moins que tu ne bufferise la sortie.

Mais dans ce cas, ca vient clairement de ta connexion, si tu la fait avant, et au vue de ce que tu dis, ensuite, il se peut que tu mette une mauvaise chaine de connexion a la bdd, telle qu'un mauvais nom de base au autre, je ne sais aps quoi te dire, j'ai pas trop le temps de regarder ton code de plus pres, mais ca vient d'une erreur de ce type

9

Pour mieux voir ton erreur, tu devrais ecrire une petite classe ressemblente a ta page et la compiler et l'executer en mode console, ggenre, juste une connexion en mode console a la base, t'y verrais sans doute plus clair, car voir les erreurs java par les jsp, est parfois moins evidant

10

Ben merci mourn
Cinq font un et un font cinq : le tout est UNITE.
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi, et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.

11

En tous cas, excellente, ta signature top
Cinq font un et un font cinq : le tout est UNITE.
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi, et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.

12

smile

13

Ca peut parraitre idiot, mais tu as regardé si tu as les droit sur la base a laquelle tu veux te connecter, si tu n'es pas sur essaye de te connecté avec le user admin

14

Euh...
c'est une bonne idee, mais a priori c'est bon.

Il y a un autre truc zarb.
Avec ce code :
________________________________________________
<%@ page import="java.sql.*" %>


<HTML>
<HEAD><TITLE>je m'en fous</TITLE></HEAD>


<BODY BGCOLOR="#FFFFFF">

<%
Connection conn = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver")
conn = DriverManager.getConnection(
"jdbcembarrassedracle:thin:@quiron.santpau.es:1521embarrassedra1",
"system",
"oradbd")

}catch(SQLException e){
out.println("SQLException recuperee : " + e.getMessage() + "<BR>")
while((e = e.getNextException()) != null)
out.println(e.getMessage() + "<BR>")
}catch(ClassNotFoundException e){
out.println("ClassNotFoundException recuperee : " + e.getMessage() + "<BR>")
}
finally{
if(conn != null)
{
try
{
conn.close();
}
catch (Exception ignored) {}
}
}
%>

</BODY>
</HTML>
____________________________________________________
ca me donne encore erreur 500,
et si je met comme url jdbcembarrassedracle:thin, ca me fait soit :
-SQLException recuperee : La dirección URL de Oracle especificada no es válida (depuis quand java parle t il espagnol !!!????)

soit
- SQLException recuperee : Sub Protocol must be specified in connection URL

selon si ce sont des drivers pour Oracle 8 ou 7....
Cinq font un et un font cinq : le tout est UNITE.
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi, et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.

15

CA MARCHE !!!!!!!!
il manquait un repertoire dans un sous-sous-sous-repertoire de Tomcat, me demande pas pourquoi, et ca marche !!!
Pfff, quelle perte de temp !
Desole de t'avoir fait perdre le tien. Merci qd mm.
Cinq font un et un font cinq : le tout est UNITE.
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi, et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.

16

Ah, oui la je pouvais pas trouver, parfois ca peut etre vicieux les bugs wink