Zum Inhalt springen

E/A - Exception


TDM

Empfohlene Beiträge

Hallo,

Ich versuche mich seit Längerem an einem DBMS. Es soll sich mit einer Datenbank auf einem anderen Rechner verbinden.

Am Anfang hatte ich für Testzwecke MySQL genommen (mit dem mysql-connector-java). Nun soll ich aber auf Oracle umsteigen (ojdbc14.jar).

Problem ich, dass ich immer beim Verbinden folgenden Fehler bekomme:

E/A - Exception: The Networkadapter could not establishthe connection

Ich weiß absolut nicht woran das liegen könnte. Ich habe eine (eigentlich) unabhängig Datenbankklasse als Singleton. Über die Funktion init() wird dieser einmalig initialisiert:

private void init() {

        ResourceBundle rb = ResourceBundle.getBundle(PROP_FILE_NAME);

        dbUrl = rb.getString(DB_SERVICE_URL);

        dbDriver = rb.getString(DB_DRIVER);

        dbUser = rb.getString(DB_USER);

        dbPass = rb.getString(DB_PASS);

        try {

            Class clazz = Class.forName(dbDriver);

            Driver driver = (Driver) clazz.newInstance();

            DriverManager.registerDriver(driver);

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        } catch (SQLException e) {

            e.printStackTrace();

        } catch (InstantiationException e) {

            e.printStackTrace();

        } catch (IllegalAccessException e) {

            e.printStackTrace();

        }

    }
mit getConnection und openConnection wird diese Connection dann von anderen Klassen aufgerufen:
    public static Connection getConnection() throws SQLException {

        return getInstance().openConnection();

    }


    private Connection openConnection() throws SQLException {

        return DriverManager.getConnection(dbUrl, dbUser, dbPass);

    }

Im init() sieht man ja, dass ich ResourceBundle genutzt hatte, darin stehen folgende Einträge:

#Uncomment the following when using a Oracle DB

db.service.url=jdbc:oracle:thin:@(description=(address_list=(address=(protocol=tcp)(host=Server1)(port=1610))(address=(protocol=tcp)(host=Server2)(port=1531)))(source_route=yes)(connect_data=(service_name=JAVA.TEST)))

db.driver=oracle.jdbc.driver.OracleDriver

db.user=user

db.pass=pw

#Uncomment the following when using a MySQL DB

#db.service.url=jdbc:mysql://localhost/java

#db.driver=com.mysql.jdbc.Driver

#db.user=user

#db.pass=pw

jetzt ist die Frage:

wo ist mein Fehler ? denn MySQL ging soweit. und der OracleService-URL wurde mir so von unserem Datenbankadministrator gesagt

PS: Ich hatte mir ein Log schreiben lassen, welches die Exception ausgibt. Wenn ich das ganze aber mit ANT kompiliert und zu einem jar gemacht habe, wird zwar noch das Log erstellt aber da steht dann: No suitable driver

Link zu diesem Kommentar
Auf anderen Seiten teilen

(host=Server2)(por t=1531)

Mir fällt erst mal nur auf, daß da ein Leerzeichen zuviel ist. Und dann weiß ich nciht, ob man die URL wirklich so schreiben kann. Hast Du Dich mit einem anderen Tool mit der Datenbank verbinden können?

Normalerweise würde das ja so oder so. ä. aussehen:


jdbc:oracle:thin:@Server1:1610:JAVA.TEST

Versuch's erst mal mit DBVisualizer oder so.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm... also in der Datei seh ich nichts von Leerzeichen... weiß auch ne wie das da hinkam :rolleyes:

Der URL funktioniert mit dem Oracle SQL Developer von Oracle selber.

Und der ist auch in Java geschrieben.

Edit:

jdbc:oracle:thin:@Server1:1610:JAVA.TEST hatte ich schon mit beiden Servern probiert - geht auch nicht

Link zu diesem Kommentar
Auf anderen Seiten teilen

E/A - Exception: The Networkadapter could not establishthe connection

- bitte mal die TCP-verbindung zum listener testen: "telnet <host> <port>" - sprich telnet server1 1610 / server2 1531.

- bitte mal testen, ob tnsping am client funktioniert.

- service name ist der richtige?

- in deinem connect string ist port 1531 eingegeben, oracle verwendet standardmässig allerdings 1521 ... ist das beabsichtigt oder ein tippfehler?

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

PS: Ich hatte mir ein Log schreiben lassen, welches die Exception ausgibt. Wenn ich das ganze aber mit ANT kompiliert und zu einem jar gemacht habe, wird zwar noch das Log erstellt aber da steht dann: No suitable driver

Das kam mir gleich etwas spanisch vor... (auch wenn es englisch ist)

Hatte vergessen, den Classpath im Manifest anzupassen :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...