1

I'm trying to connect to Oracle dataBase in Java web project and this is the exception that I got :

 java.sql.SQLException: Exception d'E/S: Got minus one from a read
 call at
 oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at
 oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at
 oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333) at
 oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404) at
 oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
 at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314) at
 java.sql.DriverManager.getConnection(Unknown Source) at
 java.sql.DriverManager.getConnection(Unknown Source) at
 mypack1.login.doPost(login.java:60) at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
 at
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 at
 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
 at
 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
 at
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
 at
 org.ow2.jonas.web.tomcat7.CheckOpenResourcesValve.invoke(CheckOpenResourcesValve.java:69)
 at
 org.ow2.jonas.web.tomcat7.tx.TransactionValve.invoke(TransactionValve.java:89)
 at
 org.ow2.jonas.web.tomcat7.ResetAuthenticationValve.invoke(ResetAuthenticationValve.java:95)
 at
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
 at
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
 at
 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
 at
 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
 at
 org.ow2.jonas.web.tomcat7.versioning.VersioningValve.invoke(VersioningValve.java:105)
 at
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
 at
 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
 at
 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
 at
 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)

and this's my connection code:

try {
    Class.forName("oracle.jdbc.OracleDriver");
} catch (ClassNotFoundException e) {
    StringWriter sw = new StringWriter();
    e.printStackTrace(new PrintWriter(sw));
    String exceptionAsString = sw.toString();
    out.println("<html><head><title>Hello World</title></head><body>");
    out.println ("<h1>Where is your Oracle JDBC Driver?</h1>"+exceptionAsString+"</body></html>");      
    return;
}
out.println("<html><head><title>Hello World</title></head><body>");
out.println ("<h1>Oracle JDBC Driver Registered!</h1></body></html>");
Connection connection = null;
try {
    connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:3010/apex/:XE","JEE","admin");
} catch (SQLException e) {
    StringWriter sw = new StringWriter();
    e.printStackTrace(new PrintWriter(sw));
    String exceptionAsString = sw.toString();
    out.println("<html><head><title>Hello World</title></head><body>");
    out.println ("<h1>Connection Failed! Check output console</h1>"+exceptionAsString+"</body></html>");
    e.printStackTrace();
    return;
}
if (connection != null) {
    out.println("<html><head><title>Hello World</title></head><body>");
    out.println ("<h1>You made it, take control your database now!</h1></body></html>");
} else {
    out.println("<html><head><title>Hello World</title></head><body>");
    out.println ("<h1>Failed to make connection!</h1></body></html>");
}
Luiggi Mendoza
  • 85,076
  • 16
  • 154
  • 332
Chlebta
  • 3,090
  • 15
  • 50
  • 99
  • Pour une connexion à Oracle XE (configuration de base), l'url est de cette forme : jdbc:oracle:thin:@localhost:1521:XE A noter : 1 - "thin" : correspond au driver oracle.jdbc.driver.OracleDriver (ojdbc14.jar) 2 - "1521" : port par défaut d'écoute de la base 3 - "XE" : nom par défaut de l'instance – joan Mar 30 '13 at 12:57
  • when I use `oracle.jdbc.driver.OracleDriver ` The Class.ForName exeption is raised so I had to use `oracle.jdbc.OracleDriver` And i have changet the oracle Port To 3010 – Chlebta Mar 30 '13 at 13:00
  • @joan Do you know english? – joey rohan Mar 30 '13 at 13:01
  • Honestly, did you try any of [these](https://www.google.de/search?q=%22Got+minus+one+from+a+read+call%22+oracle+jdbc)? There are so many possible reasons, would be great if you could rule out some of them and come back here... – skirsch Mar 30 '13 at 13:04
  • 1
    Have you tried jdbc:oracle:thin:@localhost:3010:XE" without the /APEX thing? @joey rohan Yes, sorry. It was just a copy/paste ! – joan Mar 30 '13 at 13:04
  • yeah I already tried that without /APEX same error – Chlebta Mar 30 '13 at 13:10
  • One more thing you can try: thin-style Name syntax . See http://stackoverflow.com/questions/4832056/java-jdbc-how-to-connect-to-oracle-using-service-name-instead-of-sid in your case jdbc:oracle:thin:@//localhost:3010/APEX – joan Mar 30 '13 at 13:23
  • same problem and Error I got. – Chlebta Mar 30 '13 at 13:29
  • Look like you're using the wrong oracle jdbc driver since you need to use `oracle.jdbc.driver.OracleDriver` in your `Class#forName`. – Luiggi Mendoza Mar 30 '13 at 13:37
  • I use OJDBC14, I have Oracle 10g release 2 and my JDK version is 1.7 what you think? – Chlebta Mar 30 '13 at 13:38
  • Make sure the jar file is in WEB-INF/lib. Also, try to connect to your Oracle Engine using another tool and same parameters. – Luiggi Mendoza Mar 30 '13 at 13:41
  • i have added the jar file in WEB-INF/lib – Chlebta Mar 30 '13 at 13:49

0 Answers0