Mit Android (JDBC) auf oracle Datenbank zugreifen

  • Antworten:5
Andreas P.
  • Forum-Beiträge: 3

25.04.2011, 16:32:28 via Website

Hallo, hab ein problem mit meiner App.
Diese soll über jdbc mit einem Oracle Treiber auf eine Oracle Datenbank zugreifen.
Leider klappt irgendwas mit dem Oracle Treiber nicht. Ich habe mich an den beispielen in diesem Thread gehalten jedoch habe ich das selbe Problem wie der Threadersteller, dass mir der Logcat eine Exception auswirft - ClassnotFountException: oracle.jdbc.driver.OracleDriver.

1public String getDataFromOraDB() throws ... {
2
3 ...
4
5 try {
6 Driver d = (Driver) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
7 DriverManager.registerDriver(d);
8 Connection conn;
9 ResultSet rs;
10 Statement stmt;
11 conn = DriverManager.getConnection(jdbcURL, user, passwd);
12 stmt = conn.createStatement();
13 rs = stmt.executeQuery("select description from dbschema");
14 if (rs.next()) {
15 name = rs.getString("DESCRIPTION");
16 }
17 } catch (java.sql.SQLException e) {
18 // TODO Auto-generated catch block
19 System.out.println("the exception is" + e.toString());
20 }
21 return name;
22 }

Die Exception wird in Zeile 6 geworfen. Den treiber habe ich im Eclipse-Projekt auch eingebunden.
Da im genannten Thread die Lösung nicht erläutert wurde hoffe ich jetzt, dass ihr ne Lösung kennt
oder wenigstens wisst wo der Fehler liegen könnte.

Freundliche Grüße

Andreas

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

25.04.2011, 18:28:23 via Website

Hast du das JAR mit dem Treiber denn im Projekt?

Antworten
Andreas P.
  • Forum-Beiträge: 3

25.04.2011, 20:41:45 via Website

ja habe ich,
ich habe grade auch ein Java Projekt erstellt, der auf die gleiche db zugreift jetzt fällt mir auf dass der Treiber im Java-Projekt direkt im Projekt Ordner landet da ist er natürlich auch sofort erreichbar.
Bei dem Android Projekt landet der treiber bzw. die JAR dafür im Unterordner "Referenced Libraries" könnte es daran liegen, dass er ihn in dem Ordner nicht sieht? Den Treiber kann ich aber auch nicht verschieben

Gruß Andreas

— geändert am 25.04.2011, 20:49:27

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

25.04.2011, 21:21:12 via Website

üblicherweise packt man alle benötigten JARs in einen Unterordner libs im Projekt, und trägt sie dann in den Projekteigenschaften entsprechend im Build-Path ein.

Antworten
Gelöschter Account
  • Forum-Beiträge: 294

26.04.2011, 21:53:57 via Website

O.T.: (OffTopic)

... und den Zugriff via JDBC vom Smartphone auf die Oracle lässt der Oracle DBA zu? Keine weitere Schicht dazwischen? Direkt auf die Oracle Engine?

<Kopfschütteln bei einem DB2 DBA>

Gruß
Harald

Antworten
Andreas P.
  • Forum-Beiträge: 3

07.05.2011, 15:31:51 via Website

Hallo da bin ich wieder wollte nur berichten, dass es jetzt klappt es lag in erster Linie an dem Treiber hab den ojdbc5.jar Treiber verwendet den auch SqlDeveloper verwendet dann den Thread hier gesehen (oben in meinem Beitrag) und auf ojdbc14 umgestiegen jedoch hatte ich dann immer noch zahlreiche Exceptions wie NullPointer (auf Connection), die ich mir nicht erklären konnte bis dann die Erleuchtung kam der App mal INTERNET-Permissions zu geben :D. naja jetzt klappt die Schnittstelle jedenfalls.

Zu den, die mich davor warnen wollen auf diese Weise auf eine Oracle DB zuzugreifen: Danke für den Tipp aber es lohnt sich einfach nicht ein Webservice oder sowas einzubauen weil die Datenbank eh ans Internet gekoppelt ist und jeder kann auch über sein Laptop über jdbc drauf zugreifen, so ist es auch gewollt. Da sind auch keine wertfollen Daten, es handelt sich lediglich um Fragen und Antworten um SQL zu üben.

Gruß Andreas

Antworten