Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: MySQL - Java
AUTOR BEITRAG
†ЯøjãnэЯ

RANG Deckschrubber

#1 - 25.07 13:22

Hi!

Ich habe ein Tool geschrieben, welches auf eine mySQL DB zugreifen soll...

Das Problem ist, dass ich sobald ich über das Tool connecte die Fehlermeldung in der Eclipse-Console erhalte:

Access denied for user 'root'@'localhost' (using password: YES)

die software sowie die db sind auf dem gleichen rechner.

mysql server 5.0

ich starte über "mysql command line client" und gebe mein hinterlegte passwort ein.
dann wähle ich meine datenbank aus mit "use xy"...

dann müsste doch eigentlich alles funktionieren oder?

woran liegts?

danke!
†ЯøjãnэЯ

RANG Deckschrubber

#2 - 25.07 16:33

code:

public Connection getDbConnection() throws ConnectException  {
if(connection == null) {
try {
 Class.forName("com.mysql.jdbc.Driver") ;
 connection = DriverManager.getConnection
 ("jdbc:mysql://localhost:3306/db", "root", "test");
} //endtry
catch(Exception ex) {
System.err.println("Initial SQL-Connection failed." + ex);
throw new ConnectException(); 
} //endcatch
} //endif
return connection ;
} //endmethod




Console:
Initial SQL-Connection failed.java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
vaest´ark // patrick *circle of confusion*

RANG Master of Clanintern

#3 - 25.07 16:47

Falsche Client-Library. Die Passwort-Prüfungen wurden irgendwo zwischen MySQL Server 4.x und 5.0 ausgetauscht, die neueren sind sicherer (angeblich ).

Erstell dir mal einen neuen Benutzer und benutze die Funktion OLD_PASSWORD() anstelle von PASSWORD(). Damit müsstest du dann per Java verbinden können.

(edit)
Änder nicht das Passwort vom root-Benutzer, sonst kommst du über die Konsole nicht mehr dran!
†ЯøjãnэЯ

RANG Deckschrubber

#4 - 25.07 18:58

komischerweise gehts, wenn ich ein neues projekt in eclipse öffne und nur den wichtigsten teil der klasse schreiben:

code:


import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;



public class Test {

public static void main (String [] args) throws ClassNotFoundException, SQLException {
 Class.forName("com.mysql.jdbc.Driver") ;
 Connection connection = DriverManager.getConnection
 ("jdbc:mysql://localhost:3306/db", "root", "test");

 
 String str = "Create Table test (Name VARCHAR (16))" ;
 
 Statement statement = connection.createStatement() ;
 
 statement.execute(str) ;
 
}
}


hiermit bekomm ich ne verbindung...
†ЯøjãnэЯ

RANG Deckschrubber

#5 - 30.07 11:27

problem hat sich erledigt.

neues problem :( :

wenn ich das programm aus eclipse ausführe funktioniert alles einwandfrei.
jedoch sobald ich daraus ein jar-file erstelle, startet das programm zwar, jedoch kann ich keine verbindung zur db aufbauen (erster screen = login).

woran könnte das liegen?

thx!
masta // thomas

RANG Prophet of Clanintern

#6 - 07.09 10:03

Welche Exception bekommst du denn? (starte dazu dein Programm über die Konsole mit "java -jar name.jar")
Ich tippe darauf, dass der MySQL Treiber nicht gefunden wird. Den musst du zu deinem classpath hinzufügen.

Edit: oh, der Post ist ja ganz schön alt..