Oracle: Was brauch ich?

  • Themenstarter Themenstarter Tobias Köhler
  • Beginndatum Beginndatum
T

Tobias Köhler

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;)
 
Hier mal ein wenig Code;)
Meine Java-Klasse:
Java:
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:(:
Code:
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?
 
Der Connectstring (die JDBC URL) für Oracle muss doch nach folgendem Muster aufgebaut sein:

Java:
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ß
 
Hier mal ein wenig Code;)
Meine Java-Klasse:
Java:
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:(:
Code:
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?

genau du musst nach dem localhost dein Port noch angeben etwa so z.B:
Code:
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
 
Zurück