# Oracle: Was brauch ich?



## Tobias Köhler (30. Oktober 2007)

Hallo.
Ich versuche gerade, den Einstieg in Java und Oracle zu finden...
Ich habe jetzt Oracle DB 10g XE installiert. Die Datenbank Verbindung von dort aus klappt auch... Aber nun will ich von meinem Programm aus als Test auf diese vorgefertigte Datenbank zugreifen. Wie schaff ich das? Welche Jar brauch ich etc... Ist leider noch Neuland für mich, also bitte ich um Nachsicht


----------



## Amokkx (30. Oktober 2007)

Hi,
versuch es doch mal hier.


----------



## Tobias Köhler (30. Oktober 2007)

Hier mal ein wenig Code
Meine Java-Klasse:

```
logger.info("Versuche, Verbindung aufzubauen...");
		
		try
		{
			
			Class.forName("oracle.jdbc.driver.OracleDriver");
	        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost", userid, password);
	        
	        Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
	        String sql = "SELECT * FROM Employees ORDER BY employee_id";
	        logger.info("\nExecuting query: " + sql);
	        ResultSet rset = stmt.executeQuery(sql);

	        while (rset.next()) {
	        logger.info(rset.getInt(1) + " " +
	          rset.getString(2) + " " + 
	          rset.getString(3) + " " + 
	          rset.getString(4));
	        }
	        
	        rset.close();
	        stmt.close();
	        conn.close();
		}
		catch(SQLException e)
		{
			logger.error("Konnte keine Verbindung herstellen.", e);
		}
		catch(ClassNotFoundException e)
		{
			logger.error("Treiber nicht gefunden.", e);
		}
```
Meine Fehlermeldung:

```
2007-10-30 10:41:27,937 Runtime: 0 at Line 28 [main] INFO  ConnectToOracle  - Versuche, Verbindung aufzubauen...
2007-10-30 10:41:28,203 Runtime: 266 at Line 53 [main] ERROR ConnectToOracle  - Konnte keine Verbindung herstellen.
java.sql.SQLException: E/A-Exception: SO Exception was generated
	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:361)
	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:595)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at de.tutorials.ConnectToOracle.main(ConnectToOracle.java:34)
```

Ich habe als JAR-File ojdbc14.jar zum Build Path hinzugefügt. Irgendwas fehlt noch, nur was?


----------



## torax13 (1. November 2007)

Der Connectstring (die JDBC URL) für Oracle muss doch nach folgendem Muster aufgebaut sein:


```
jdbc:oracle:thin:@host:port:SID
```
Wobei der Port üblicherwise die 1521ist. host wär bei Dir localhost und die SID bei Oracle Express wohl (immer?) 'xe'

Gruß


----------



## fenerli23 (1. November 2007)

Tobias Köhler hat gesagt.:


> Hier mal ein wenig Code
> Meine Java-Klasse:
> 
> ```
> ...



genau du musst nach dem localhost dein Port noch angeben etwa so z.B:

```
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
```


----------

