Ich bin neu in Java, und ich brauche Hilfe. Ab drei Stunden kämpfe ich mit Datenbankverbindung. Zuerst erstelle ich ein Projekt und lade Treiber herunter und entpacke sie in meinen Projektordner. Nach diesem gefunden Code, Update von meiner Datenbank-Adresse, Benutzername, Passwort und in meinem Projekt. Jetzt habe ich eine Datei: MysqlConnect.java:Java - mySql Datenbankverbindung
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jdbc;
/**
*
* @author Administrator
*/
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public static void main(String[] args) {
// LADOWANIE STEROWNIKA
System.out.print("Sprawdzanie sterownika:");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception e) {
System.out.println("Blad przy ladowaniu sterownika bazy!");
System.exit(1);
}
System.out.print(" sterownik OK");
// LACZENIE Z BAZA
System.out.print("\nLaczenie z baza danych:");
String baza = "jdbc:mysql://db41032162719.db.1and1.com/db41032162719";
// objasnienie opisu bazy:
// jdbc: - mechanizm laczenia z baza (moze byc inny, np. odbc)
// mysql: - rodzaj bazy
// //olimp.if.pw.edu.pl - adres serwera z baza (moze byc tez w formie adresu IP)
// /pojava - nazwa bazy (poniewaz na serwerze moze byc kilka roznych baz...)
String user = "dbo41032162719";
String pass = "Zasypiam3141";
java.sql.Connection conn = null;
try {
conn=DriverManager.getConnection(baza, user, pass);
//rownoznacze z zapisem:
//conn=DriverManager.getConnection("jdbc:mysql://olimp.if.pw.edu.pl/pojava?user=pojava&password=Java");
} catch (SQLException e) {
System.out.println("Blad przy ladowaniu sterownika bazy!");
System.exit(1);
}
System.out.print(" polaczenie OK\n");
// WYKONYWANIE OPERACJI NA BAZIE DANYCH
System.out.println("Pobieranie danych z bazy:");
Statement s = null;
try {
s = conn.createStatement(); // tworzenie obiektu Statement przesylajacego zapytania do bazy conn
ResultSet r;
r=s.executeQuery("Select * from meteo;"); // wykonanie kwerendy i przeslanie wynikow do obiektu ResultSet
r.next(); // przejscie do kolejnego rekordu (wiersza) otrzymanych wynikow
ResultSetMetaData rsmd = r.getMetaData();
int numcols = rsmd.getColumnCount(); // pobieranie liczby kolumn
//wyswietlanie nazw kolumn:
for (int i = 1; i <= numcols; i++) {
System.out.print(rsmd.getColumnLabel(i)+" | ");
}
System.out.print("\n------------------------------------\n");
//wyswietlanie kolejnych rekordow:
while (r.next()) {
for (int i = 1; i <= numcols; i++) {
Object obj = r.getObject(i);
if (obj != null)System.out.print(obj.toString()+ " | ");
else System.out.print(" ");
}
System.out.println();
}
} catch (SQLException e) {
System.out.println("Blad odczytu z bazy! " +e.toString());
System.exit(3);
}
// ZAMYKANIE POLACZENIA Z BAZA
System.out.print("\nZamykanie polaczenia z baza:");
try {
s.close();
conn.close();
} catch (SQLException e) {
System.out.println("Blad przy zamykaniu polaczenia " +e.toString());
System.exit(4);
}
System.out.print(" zamkniecie OK");
}
}
Und ich habe Fehler:
run:
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at jdbc.JDBC.main(JDBC.java:24)
Caused by: java.lang.RuntimeException: Uncompilable source code - com.mysql.jdbc.NonRegisteringDriver is not abstract and does not override abstract method getParentLogger() in java.sql.Driver
at com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java:69)
... 3 more
Sprawdzanie sterownika:Java Result: 1
BUILD SUCCESSFUL (total time: 7 seconds)
Ich suche etwas über mein Problem im Internet Kampf alles davon funktioniert nicht lösen :( Wenn jemand mir helfen werde ich verpflichtet werden. Ich denke, das Problem ist nicht in Code, weil ich versuchte, drei anodische Codes von Google und alle gleichen Fehler. Ich legte meinen Fehler in Google, aber es war nur 1 Ergebnis vom russischen sitzen e ..
Diese Methode wurde in Java 1.7 eingeführt. Versuchen Sie, eine Java 1.6-Umgebung auszuführen. Ich frage mich jedoch, warum es für dich gescheitert ist. Obwohl die neueste MySQL JDBC JAR-Datei 5.1.8 für Java 1.6 geschrieben wurde, sollte sie in Java 1.7 genauso gut funktionieren. Wie genau kompilieren/ausführen Sie es? Mit etwas IDE? Haben Sie oder die IDE nicht die MySQL-JAR-Datei extrahiert und alle Inhalte aus einem unklaren Grund neu gegen Java 1.7 gepackt/neu kompiliert? – BalusC
Ich benutze Netbeans IDE 7.1. Ich füge mysql-onnector-java.5.1.18.zip zu den Bibliotheken im linken Panel auf Netbeans hinzu, auch lege ich alle Ordner von Zip in meinen Paketordner. – user1304098
@ user1304098: Hat einer der Kommentare/Antworten geholfen? Hast du das Problem selbst gelöst? – atk