Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich benötige ein Programm, um die Erreichbarkeit einer Oracle-Datenbank zu Testen. Es geht wirklich nur darum zu prüfen, ob eine Datenbank erreichbar ist oder nicht.
Hierzu soll ein Verbindungsstring übergeben werden (z.B. name/passwort@datenbank:1521) sowie der JDBC-Connect-String (z.B. jdbc: oracle:thin: @//192.168.2.1:1521/XE).
Als Ergebnis/Rückgabewert soll ausgegeben werden, ob die Verbindung erfolgreich war. Dies wäre z.B. durch eine boolsche Variable sinnvoll.
Könnt ihr mir sagen, ob ich hier was vergessen habe und was ich für dieses Progrämmchen benötige?
mein Programm funktioniert bislang gut, jedenfalls wenn man es auf der aktuellen Java-Version ausführt. Nun muss es jedoch auch auf der Java-Version 6 laufen, was es nicht tut.
Hier mein Programmcode:
Java:
package datenbank;
import java.sql.*;
import java.util.Scanner;
public class oracle {
// Deklarierung der zur Datenbankverbindung notwendigen Variablen
static String url = "jdbc:oracle:thin:@";
static String userid;
static String password;
static String ip;
static Connection connect = null;
public static void main(String[] args) {
// Einrichten der Tastatureingabe
Scanner tastatur = new Scanner(System.in);
System.out.println("-------- Start: Test der Datenbankverbindung ------");
//Eingabe Datenbank
System.out.println("IP-Adresse, Port und Name der Datenbank (im Format //127.0.0.1:Port/DbName)");
ip = tastatur.next();
url = url + ip;
//Eingabe Benutzername
System.out.println("Benutzername?");
userid = tastatur.next();
//Eingabe Passwort
System.out.println("Passwort:");
password = tastatur.next();
tastatur.close();
//Aufruf zur Geduld
System.out.println("Bitte warten...");
//Methodenaufruf zur Datenbankverbindung
Connection con = getConnectionToDB();
if (con != null) {
System.out.println("Verbindung zur Datenbank");
System.out.println(url);
System.out.println("erfolgreich!");
} else {
System.out.println("Es konnte keine Verbindung zur Datenbank hergestellt werden.");
}
System.out.println("-------- Ende: Test der Datenbankverbindung ------");
}
public static Connection getConnectionToDB() {
try {
connect = DriverManager.getConnection(url, userid, password);
} catch (SQLException sqlEx) {
System.err.println("SQLException: " + sqlEx.getMessage());
}
return connect;
}
}
Führt man das Programm auf einer Java-Plattform mit Version 6 aus, wirft es folgende Exception:
Java:
Exception in thread "main" java.lang.UnsupportedClassVersionError: datenbank/oracle : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: datenbank.oracle. Program will exit.
Habt ihr eine Idee, woran es liegt und wie man das Programm auf Java 6 zum Laufen bringen kann? An der Treiberversion kann es ja eigentlich nicht liegen, da zumindest ojdbc5 gemäß Webseite für Java 6 konfiguriert ist (und ojdbc6 auch)...
Kann es sein, dass du das Programm mit Java 8 übersetzt hast und die erzeugte *.class bzw *.jar Datei nun mit Java 6 zu starten versuchst ?
Wenn ja, dann musst du dem Compiler sagen, dass er Java 6 kompatiblen Code erzeugen soll.