Bonjour à tous et merci d'avance pour votre aide.
Voici mon problème, j'ai créé une servlet pour tester la connection entre Java et Sybase. J'utilise le bridge JDBC-ODBC mais cela ne semble pas marcher...
et voici le rapport d'erreur :
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class testSybase extends HttpServlet { private static final long serialVersionUID = 0; private Connection con; private PrintWriter out; public void init(ServletConfig conf) throws ServletException { super.init(conf); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection ("jdbc:odbc:SISSYBA2"); } catch(Exception e) { out.println(e); } } public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); try { out = res.getWriter(); out.println("<html><head><title>"); out.println("JDBC Servlet"); out.println("</title></head><body>"); //out.println(con.isClosed()); /*Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM CLIENTS;"); out.println("<UL>"); while(rs.next()) { out.println("<LI>" + rs.getString("TCLIRAISON")); } out.println("</UL>"); rs.close(); stmt.close(); } catch(SQLException e) { out.println("Exception SQL"); */} catch(IOException e) { } out.println("</body></html>"); out.close(); } public void destroy() { try { con.close(); } catch(SQLException e) { ; } } }
J'ai evidemment testé le driver ODBC et il fonctionne avec Excel.
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 Etat HTTP 500 - type Rapport d'exception message description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête. exception javax.servlet.ServletException: "Servlet.init()" pour la servlet testSybase a généré une exception org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) java.lang.Thread.run(Unknown Source) cause mère java.lang.NullPointerException testSybase.init(testSybase.java:22) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) java.lang.Thread.run(Unknown Source)
mes paramêtre sont il correcte ?
faut-il ajouter quelques choses dans le classpath ?
Partager