Java und MySQL

Torox

Grünschnabel
import java.sql.*;

public class re {
public static void main( String[] argv ) {

String name="Torox";
String pass="...";
try {
// Anhand-Klassen name des Mysql-Treibers ein Object instanzieren
Class.forName("org.gjt.mm.mysql.Driver");
// verbindung öffnen per server / Datenbank /user / pass
Connection conn = DriverManager.getConnection( "jdbc:mysql://freesql.org/Torox",name,pass);
} catch (SQLException e) {
System.out.println(e);
// Hier eventuelle SQL Ausnahmen abfagen
} catch (ClassNotFoundException e) {
System.out.println(e);
// Hier die Ausnahme abfagen die geworfen
// wird falls für den Treiber name keine Klasse
// instanziert werden konnte
}


}
}


Also dies ist mein kleines test Progie. Also verbinden tut er anscheinend, weil es läner dauert bis die Fehlermeldung kommt:

java.sql.SQLException: Invalid authorization specification, message from server
: "Access denied for user: 'Torox@p5091AAA7.dip.t-dialin.net' (Using password: Y
ES)"
Press any key to continue...


Und nun meine Frage wieso macht er aus dem Loginnamen Torox--> 'Torox@p5091AAA7.dip.t-dialin.net' Das ist glaub ich der fehler. Freesql akzeptiert nur den namen Torox ohne absenderadresse.

An FreeSql kanns auch nicht liegen mit anderen programmen und php komm ich drauf. Auch von meinem Lokalen rechner. Wie kriege ich also eine Verbindung her? Ihr könnt euch gern bei freesql ne datenbank einrichten geht fix und ist ganz nützlich zu testzwecken.
Wäre cool wenn mir jemand helfen könnte
:) Danke Torox
 
Das ist glaub ich ganz einfach geklärt!

In MySQL sind Benutzer angelegt, z.B. Torox. Dieser Benutzer muß jedoch das Recht haben von jedem PC auf MySQL zugreifen zu dürfen. Meist darf das aber der Benutzer nicht, er darf standardmäßig meist nur von localhost zugreifen. Du müßtest also mal Deinem DB-User die Rechte mitteilen.

mySQL-Manual

In der Datenbank 'mysql' findest Du in der Tabelle 'User' alle Benutzer. Dort in der Spalte 'Host' muß '%' stehen damit der User von jedem Rechner der Welt auf die DB zugreifen darf. Steht dort 'localhost' dann darf er nur von dem lokalen PC drauf zugreifen.

Ich hoffe das war verständlich...?! ;)

MfG
..::Six Dark::..
 
hallo !

ich komme erst gar nicht soweit ..
bin nicht so fit in java, als das ich den fehler alleine finden würde !

MEIN FEHLER:
---------------------------
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
-----------------------------

MEIN CODE:
----------------------
package mysqltest;
import java.sql.*;
import java.util.*;
import java.io.*;

public class starter {
public starter() {
Connection con = null;
String dbserver = "localhost"; //Name oder IP-Adresse des Datenbank Servers
String db = "home"; // Name der Datenbank
String dbuser = "michael"; //Name des Datenbank-Benutzers
String dbpwd = "topspeed"; //Passwort des Datenbank-Benutzers
try
{
// Class.forName("com.mysql.jdbc.Driver").newInstance();
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://"+ dbserver + "/" + db,
dbuser, dbpwd);
}
catch (Exception e)
{e.printStackTrace();
// hier den error abhandeln!
}

}
public static void main(String[] args) {
starter starter1 = new starter();
}

}
----------------------

den treiber habe ich heruntergeladen:
mysql-connector-java-3.0.9-stable.zip

und in das verzeichnis "C:\JBuilder9\lib\ext" entpackt:

FRAGE:
--------------
Kann mir bitte jemand weiterhelfen .. ich schaffe das ohne hilfe nicht !

danke, lG michael X-)=
 
Servus!

Wann kommt denn die Fehlermeldung?
(Die übrigens besagt, dass dein mysqlxxxx.jar nicht im richtigen Verzeichnis liegt") ... kopiers mal in das ext Verzeichnis deiner JRE installation bzw. ins lib...
Andernfalls besteht noch die Möglichkeit das ganze per Konsole zu compilieren:
Code:
javac -classpath .;c:\pfad_zum_mysql_jar/mysqlxxxx.jar;c:\pfad_zum_meinen_klassen;c:\pfad_zum_jdk\rt.jar MeineKlasse.java

und danach:

 java  - cp .;c:\pfad_zum_mysql_jar/mysqlxxxx.jar;c:\pfad_zum_meinen_klassen;c:\pfad_zum_jdk\rt.jar MeineKlasse

Gruß Tom
 
@tom

danke für deine hilfe !
du hast recht gehabt


ich habe wie schon gesagt den treiber bereits heruntergeladen !
anbei ... ich arbeite mit jbuilder:

und unter tools: configure jdk, muss man den PFAD zum HERUNTERGELADENEN TREIBER (*.jar file) bekanntmachen !

ist total easy, wenn man das problem erkannt hat, danke nochmal !

gruß michael X-)=
:p
 
@Torox
Hi! Was bedeutet denn diese Zeile?

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

MfG
 

Neue Beiträge

Zurück