# Fehler beim Verbinden zur Oracle-DB



## ak (15. Dez 2004)

Hallo Leute ich versuche mich mit einem Drivermanager über jdbc mit meiner oracle DB (Oracle 10g) zu verbinden. Ich erhalte aber folgende Fehlermeldung:
"java.sql.SQLException: E/A-Exception: Got minus one from a read call"

Die Verbindung wird in einem Servlet folgendermassen aufgebaut:


```
protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    String ausgabe;
    ausgabe="DBtest";
    String oracleURL="jdbc:oracle:thin:@localhost:8080:KURSE";
    
    //oracle-Treiber laden
    try{
      Class.forName("oracle.jdbc.driver.OracleDriver");  
    }catch(ClassNotFoundException err){
      ausgabe=err.toString();  
    }
    
    try{
      Connection connection = DriverManager.getConnection(oracleURL, "SYS",   
                              "passw");
    }catch(SQLException ioerr){
      ausgabe=ioerr.toString(); //hier wird exception ausgeworfen 
    }
    
    PrintWriter out = response.getWriter();  //ausgabe der exception
    out.println(ausgabe);
  }
```

Weiss jemand woran das liegen kann?


----------



## foobar (15. Dez 2004)

Versuchs mal so:

```
String oracleURL="jdbc:oracle:thin:@localhost:8080/KURSE";
```


----------



## ak (15. Dez 2004)

foobar hat gesagt.:
			
		

> Versuchs mal so:
> 
> ```
> String oracleURL="jdbc:oracle:thin:@localhost:8080/KURSE";
> ```



Da kommt dann folgende Meldung:

java.sql.SQLException: E/A-Exception: Invalid connection string format, a valid format is: "hostort:sid"


----------



## abollm (15. Dez 2004)

ak hat gesagt.:
			
		

> ...
> 
> ```
> ...
> ...



Noch etwas: Der Nutzer SYS ist der Eigner der gesamten Datenbank. Mit dem solltest du nur im Rahmen administrativer Aufgaben (z.B. Einspielen von Upgrade-/Update-Skripten) arbeiten. Für den Produktivbetrieb aber nie mit diesem Nutzer.


----------



## ak (15. Dez 2004)

sorry hatte den falschen port, jetzt gehts.


----------



## abollm (15. Dez 2004)

Port 8080 -> HTTP Proxy
Port 1521 -> Standard-Port Oracle (TNS)


----------



## thE_29 (16. Dez 2004)

jop, 1521 müsstest du machen!

Manchmal gehts so

jdbcracle:thin:user/pw@127.0.0.1:1521:database

und mit user pw einloggen (so brauchts Java App über Tomcat - geht aber mit normalen Java App auch)

oder

jdbcracle:thin127.0.0.1:1521:database

und mit user pw einloggen (so brauchts nur Java App)


----------

